Creacion y eliminacion de elementos - lizethcas/javascript-universe GitHub Wiki

✨ Crear elementos

La API del DOM no sólo permite seleccionar o modificar los elementos existentes, sino también eliminar y crear nuevos elementos para luego añadirlos al documento.

Usando document.createElement()

Este método permite crear un nuevo nodo del tipo especificado:

const newElement = document.createElement('div'); // Crea un elemento <div>
newElement.textContent = 'Hola, soy un nuevo div'; // Añade texto
newElement.classList.add('nuevo'); // Agrega una clase
document.body.appendChild(newElement); // Lo agrega al final del <body>

También puedes insertar HTML directamente:

const list = document.querySelector('.list');
list.innerHTML += '<li>Nuevo ítem</li>';

❌ Eliminar elementos

Usando .remove() directamente en el nodo

const element = document.querySelector('.remove-me');
element.remove(); // Elimina el nodo del DOM

Usando .removeChild() desde el nodo padre

const parent = document.querySelector('.container');
const child = parent.querySelector('.child');
parent.removeChild(child); // Elimina al hijo desde el padre

🧼 Limpiar el contenido de un elemento

Si deseas eliminar todo el contenido interno de un elemento (como texto o nodos hijos), puedes hacerlo con innerHTML vacío:

const section = document.querySelector('.clean-me');
section.innerHTML = ''; // Vacía el contenido interno

También puedes usar:

while (section.firstChild) {
  section.removeChild(section.firstChild); // Elimina cada hijo
}

🧠 Anexo - Insertar elementos en el DOM

Para que el elemento creado se muestre en la página, debe añadirse a un nodo existente en el árbol del DOM.

📌 Métodos para insertar elementos

  • element.append(el1, el2, ...)
    Añade uno o más elementos después de todos los hijos del element.

  • element.prepend(el1, el2, ...)
    Añade uno o más elementos antes de todos los hijos del element.

  • element.after(el1, el2, ...)
    Añade uno o más elementos después del element.

  • element.before(el1, el2, ...)
    Añade uno o más elementos antes del element.


Ejemplo

  <h1>Usernames</h1>
  <ul class="usernames">
    <li>Mango</li>
  </ul>

Javascript

const list = document.querySelector(".usernames");

// Añadir lista al final del elemento
const lastItem = document.createElement("li");
lastItem.textContent = "Poly";
list.append(lastItem);

// Añadir lista al comienzo del elemento
const firstItem = document.createElement("li");
firstItem.textContent = "Ajax";
list.prepend(firstItem);

⚠️ **GitHub.com Fallback** ⚠️