En este corto post te mostraré cómo limpiar un elemento HTML con JavaScript, es decir, algo como el método “empty” de jQuery, pero con JavaScript puro.
Por ejemplo, con esto que te mostraré sabrás cómo eliminar todo el contenido de un elemento HTML ya sea una tabla, una lista, etcétera. A lo que haremos también se le conoce como Remover todos los hijos de un elemento HTML.
Limpiar elemento HTML con JavaScript
Para eliminar todo el contenido de un elemento, primero debemos obtener una referencia al mismo. Esto puede hacerse con getElementById
o con querySelector; yo usaré el segundo.
Ahora que tenemos el elemento, simplemente establecemos su propiedad innerHTML
a una cadena vacía. A continuación tenemos el ejemplo. Definimos el HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Eliminar contenido</title>
<link href="style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<table>
<thead>
<tr>
<th>Nombre</th>
</tr>
</thead>
<tbody id="cuerpoTabla">
<tr>
<td>Luis</td>
</tr>
<tr>
<td>Luis</td>
</tr>
<tr>
<td>Luis</td>
</tr>
</tbody>
</table>
<br>
<button id="btnLimpiar">Limpiar</button>
<script src="script.js"></script>
</body>
</html>
En este caso vamos a limpiar el cuerpo de una tabla, así que le agregamos un id para referirnos al mismo más tarde. También definimos un botón para fines de demostración.
// Obtenemos una referencia al elemento
const $elemento = document.querySelector("#cuerpoTabla");
// El botón solo es para la demostración
const $btnLimpiar = document.querySelector("#btnLimpiar");
// Y en el click, limpiamos
$btnLimpiar.addEventListener("click", () => {
$elemento.innerHTML = "";
});
Luego en la línea 9 estamos eliminando el contenido del elemento estableciendo su innerHTML
en una cadena vacía.