que obtener ejemplos div contenido javascript html dom-manipulation

obtener - ¿Cómo mover todos los elementos de elemento HTML a otro elemento primario mediante JavaScript?



innerhtml que es (3)

Imagina:

<div id="old-parent"> <span>Foo</span> <b>Bar</b> Hello World </div> <div id="new-parent"></div>

¿Qué JavaScript se puede escribir para mover todos los nodos secundarios (ambos elementos y nodos de texto) de old-parent new-parent sin jQuery?

No me importa el espacio en blanco entre los nodos, aunque espero atrapar al extraño Hello World , tendrían que migrar como está.

EDITAR

Para ser claro, quiero terminar con:

<div id="old-parent"></div> <div id="new-parent"> <span>Foo</span> <b>Bar</b> Hello World </div>

La respuesta a la pregunta a partir de la cual este es un duplicado propuesto daría como resultado:

<div id="new-parent"> <div id="old-parent"> <span>Foo</span> <b>Bar</b> Hello World </div> </div>


Aquí hay una función simple:

function setParent(el, newParent) { newParent.appendChild(el); }

Los childNodes son los elementos que se newParent , newParent es el elemento el que se moverá, por lo que se ejecutará la función como:

var l = document.getElementById(''old-parent'').childNodes.length; var a = document.getElementById(''old-parent''); var b = document.getElementById(''new-parent''); for (var i = l; i >= 0; i--) { setParent(a.childNodes[0], b); }

Aquí está la demostración


Esta respuesta solo funciona realmente si no necesita hacer nada más que transferir el código interno (innerHTML) de uno a otro:

// Define old parent var oldParent = document.getElementById(''old-parent''); // Define new parent var newParent = document.getElementById(''new-parent''); // Basically takes the inner code of the old, and places it into the new one newParent.innerHTML = oldParent.innerHTML; // Delete / Clear the innerHTML / code of the old Parent oldParent.innerHTML = '''';

¡Espero que esto ayude!


DEMO

Básicamente, desea recorrer cada descendiente directo del nodo padre anterior y moverlo al nuevo padre. Cualquier hijo de un descendiente directo se moverá con él.

var newParent = document.getElementById(''new-parent''); var oldParent = document.getElementById(''old-parent''); while (oldParent.childNodes.length > 0) { newParent.appendChild(oldParent.childNodes[0]); }