假设我有一个带有父节点和一组子节点的部分 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 来做到这一点。没有额外的或外部的框架。
您可以通过将元素附加到新的父级来移动元素。在普通的 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 已经在树中,则首先将其删除。