如何在现有父级和子级*之间插入 DIV?

Che*_*eso 4 javascript dhtml

假设我有一个带有父节点和一组子节点的部分 dom 树。

如何在它们之间插入 DIV?

我从

parent --+--> child[0]
         |--> child[1]
         |--> child[2]
Run Code Online (Sandbox Code Playgroud)

..我想以

parent ---> newdiv ---+--> child[0]
                      |--> child[1]
                      |--> child[2]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我需要 的逆运算replaceChild()。有类似的东西replaceParent()吗?

我想我可以克隆所有子节点,然后将它们作为子节点插入新节点中。但是...这会保留所有元素 ID 吗?


编辑- 我没有用 jQuery 或任何框架来标记它,但也许我应该明确说明它。这不是一个 jQuery 问题。我想用 javascript + DHTML 来做到这一点。没有额外的或外部的框架。

Eli*_*ing 5

您可以通过将元素附加到新的父级来移动元素。在普通的 JavaScript 中:

var newDiv = document.createElement("div");

while(parent.hasChildNodes())
    newDiv.appendChild(parent.firstChild);

parent.appendChild(newDiv);
Run Code Online (Sandbox Code Playgroud)

来自W3C 的文档appendChild

将节点 newChild 添加到该节点的子节点列表的末尾。如果 newChild 已经在树中,则首先将其删除。