20 - Mover un nodo de tipo elemento. |
Para mover un nodo y todos sus descendientes sólo necesitamos la referencia del mismo. Debemos utilizar el método ya conocido appendChild. Este método agrega el nodo que le indicamos a la nueva ubicación dentro del árbol y lo elimina automáticamente de su posición actual.
Para ver el funcionamiento de mover un nodo desarrollaremos un ejemplo que mueva el primer párrafo contenido en un div y lo disponga en otro div.<html> <head> <title>Problema</title> <script language="javascript" src="funciones.js" type="text/javascript"></script> </head> <body> <div id="region1"><p>Este es el primer párrafo</p><p>Este es el segundo párrafo</p><p>Este es el tercer párrafo</p></div> <input type="button" value="Mover el primer párrafo" onClick="moverParrafo()"> <div id="region2"> </div> </body> </html>funciones.js
function moverParrafo()
{
var puntero1=document.getElementById('region1');
var parrafo1=puntero1.firstChild;
var puntero2=document.getElementById('region2');
puntero2.appendChild(parrafo1);
}
Obtenemos primero la referencia al primer div:
var puntero1=document.getElementById('region1');
Obtenemos luego la referencia al primer párrafo contenido en el div:
var parrafo1=puntero1.firstChild;Luego obtenemos la referencia al segundo div:
var puntero2=document.getElementById('region2');
Por último añadimos la referencia del párrafo al segundo div:
puntero2.appendChild(parrafo1);Es muy importante notar que cuando agregamos el párrafo al segundo div, desaparece del primer div.