您现在的位置:首页 >> 前端 >> 内容

insertBefore方法讲解,及如何实现insertAfter方法?

时间:2018/3/9 10:34:38 点击:

  核心提示:js原生方法insertBefore用于在某个元素之前插入新元素定义:Node.insertBefore() 方法在参考节点之前插入一个节点作为一个指定父节点的子节点。语法: parentElemen...

js原生方法insertBefore用于在某个元素之前插入新元素

定义:

Node.insertBefore() 方法在参考节点之前插入一个节点作为一个指定父节点的子节点。

语法: parentElement.insertBefore(newElement, referElement)

值得注意的是

1. 如果要插入的newElement已经在DOM树中存在,那么执行此方法会将该节点从DOM树中移除。

2. 如果referElement为null,那么`newElement会被添加到父节点的子节点末尾

既然JS原生不存在insertAfter方法,要如何实现该功能呢?

元素节点还有一个属性: nextSibling,即指向元素的下个兄弟元素,如果已经是末尾子节点则为null。

基于以上,就可以实现insertAfter功能

function insertAfter(newNode, referenceNode) {
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
} 

Tags:IN NS SE ER 
作者:网络 来源:justforuse