Imagine:
<div id="old-parent"> <span>Foo</span> <b>Bar</b> Hello World </div> <div id="new-parent"></div>
What JavaScript can be written to move all the child nodes (both elements, and text nodes) from old-parent
to new-parent
without jQuery?
I don't care about whitespace between nodes, though I expect to catch the stray Hello World
, they would need to be migrated as-is too.
EDIT
To be clear, I want to end up with:
<div id="old-parent"></div> <div id="new-parent"> <span>Foo</span> <b>Bar</b> Hello World </div>
The answer of the question from which this is a proposed duplicate would result in:
<div id="new-parent"> <div id="old-parent"> <span>Foo</span> <b>Bar</b> Hello World </div> </div>
All you have to do is select the element(s) you want to move, then call an “adding” method such as append() , appendTo() or prepend() to add the selected elements to another parent element. jQuery automatically realises that the element(s) to add already exist in the page, and it moves the element(s) to the new parent.
Using the appendChild method getElementById() method then we need to use the appendChild() method to move child element into a parent. The appendChild method inserts the specified element at the end of a parent node list.
The nodes in the node tree have a hierarchical relationship to each other. The terms parent, child, and sibling are used to describe the relationships. In a node tree, the top node is called the root (or root node)
Basically, you want to loop through each direct descendent of the old-parent node, and move it to the new parent. Any children of a direct descendent will get moved with it.
var newParent = document.getElementById('new-parent'); var oldParent = document.getElementById('old-parent'); function move() { while (oldParent.childNodes.length > 0) { newParent.appendChild(oldParent.childNodes[0]); } }
#old-parent { background-color: red; } #new-parent { background-color: green; }
<div id="old-parent"> <span>Foo</span> <b>Bar</b> Hello World </div> <div id="new-parent"></div> <br> <button onclick="move()" id="button">Move childs</button>
External link
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With