在Javascript中是否有一种方法可以在当前节点之后插入元素。我知道有一种方法可以在XML的当前节点之前插入元素,但是是否有一种方法可以在当前节点之后插入元素呢?
在Javascript中是否有一种方法可以在当前节点之后插入元素。我知道有一种方法可以在XML的当前节点之前插入元素,但是是否有一种方法可以在当前节点之后插入元素呢?
只需获取当前节点的下一个兄弟节点,然后使用 insertBefore
在该节点之前插入新节点:
currentNode.parentNode.insertBefore(newNode, currentNode.nextSibling);
如果nextSibling
为null
,则insertBefore
会将新节点插入到节点列表的末尾。没有直接的方法在特定节点后插入节点,但有一个解决方法:
var parent = currentNode.parentNode;
if(currentNode.nextSibling != null)
parent.insertBefore(newNode,currentNode.nextSibling)
else
parent.appendChild(newNode);
null
作为参考元素的insertBefore
会将节点插入到父节点的末尾(例如,这与appendChild
相同)。根本不需要进行检查。 - T.J. Crowder
currentNode.parentNode.insertBefore(newNode, currentNode.nextSibling)
这一行代码即可。如果currentNode.nextSibling
为null
,那么结果与使用appendChild
方法完全相同。 - Crescent Fresh