【发布时间】:2010-12-06 06:54:35
【问题描述】:
Javascript中是否有一种方法可以在当前节点之后插入一个元素。我知道有一种方法可以在XML的当前节点之前插入一个元素。但是有一种方法可以插入。在当前节点之后?
【问题讨论】:
标签: javascript
Javascript中是否有一种方法可以在当前节点之后插入一个元素。我知道有一种方法可以在XML的当前节点之前插入一个元素。但是有一种方法可以插入。在当前节点之后?
【问题讨论】:
标签: javascript
只需获取当前节点的下一个兄弟节点并使用insertBefore 在该节点之前插入新节点:
currentNode.parentNode.insertBefore(newNode, currentNode.nextSibling);
如果nextSibling 是null,insertBefore 将新节点插入到节点列表的末尾。
【讨论】:
currentNode.parentNode.insertBefore(newNode, currentNode.nextSibling)。如果 currentNode.nextSibling 是 null,那么结果就是 appendChild 行的结果。
在特定节点之后插入节点没有直接的方法,但有一种解决方法:
var parent = currentNode.parentNode;
if(currentNode.nextSibling != null)
parent.insertBefore(newNode,currentNode.nextSibling)
else
parent.appendChild(newNode);
【讨论】:
insertBefore 以null 为参考元素插入到父节点的end 处(例如,它与appendChild 相同)。根本不需要检查。