Los últimos tutoriales de desarrollo web
 

JavaScript Elementos DOM de HTML (nodos)


Adición y eliminación de nodos (elementos HTML)


Creación de nuevos elementos HTML (nodos)

Para añadir un nuevo elemento a la DOM de HTML, se debe crear el elemento (nodo de elemento) en primer lugar y, a continuación, añadir a un elemento existente.

Ejemplo

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para = document.createElement("p");
var node = document.createTextNode("This is new.");
para.appendChild(node);

var element = document.getElementById("div1");
element.appendChild(para);
</script>
Inténtalo tú mismo "

ejemplo Explicación

Este código crea un nuevo <p> elemento:

var para = document.createElement("p");

Para añadir texto a la <p> elemento, se debe crear un nodo de texto en primer lugar. Este código crea un nodo de texto:

var node = document.createTextNode("This is a new paragraph.");

A continuación, debe agregar el nodo de texto a la <p> elemento:

para.appendChild(node);

Por último hay que añadir el nuevo elemento a un elemento existente.

Este código se encuentra un elemento existente:

var element = document.getElementById("div1");

Este código añade el nuevo elemento al elemento existente:

element.appendChild(para);

La creación de nuevos elementos HTML - insertBefore()

El appendChild() método en el ejemplo anterior, añade el nuevo elemento como el último hijo del padre.

Si no desea que se puede utilizar la insertBefore() método:

Ejemplo

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para = document.createElement("p");
var node = document.createTextNode("This is new.");
para.appendChild(node);

var element = document.getElementById("div1");
var child = document.getElementById("p1");
element.insertBefore(para,child);
</script>
Inténtalo tú mismo "

Borrado de elementos HTML existentes

Para eliminar un elemento HTML, se debe conocer el padre del elemento:

Ejemplo

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var parent = document.getElementById("div1");
var child = document.getElementById("p1");
parent.removeChild(child);
</script>
Inténtalo tú mismo "

El método node.remove() está implementado en la especificación DOM 4.
Sin embargo, debido a la mala soporte de los navegadores, no debe utilizarlo.


ejemplo Explicación

Este documento HTML contiene un <div> elemento con dos nodos hijos (dos <p> elementos):

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

Encontrar el elemento con id="div1" :

var parent = document.getElementById("div1");

Busque el elemento <p> con id="p1" :

var child = document.getElementById("p1");

Retirar al niño del padre:

parent.removeChild(child);

Sería agradable ser capaz de eliminar un elemento sin hacer referencia a los padres.
Pero lo siento. El DOM necesita saber tanto el elemento que desea eliminar, y su matriz.

Aquí es una solución común: Encontrar el niño que desea eliminar, y el uso de su propiedad parentNode encontrar al padre:

var child = document.getElementById("p1");
child.parentNode.removeChild(child);

Sustitución de elementos HTML

Para reemplazar un elemento para el DOM de HTML, utilice el replaceChild() método:

Ejemplo

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para = document.createElement("p");
var node = document.createTextNode("This is new.");
para.appendChild(node);

var parent = document.getElementById("div1");
var child = document.getElementById("p1");
parent.replaceChild(para,child);
</script>
Inténtalo tú mismo "