手动封装 insertAfter JS 函数

我们知道 DOM 提供了 insertBefore 函数, 用于在已有的元素前插入一个新元素, 而 DOM 本身并没有提供一个 insertAfter 函数用于在已有元素后插入一个新元素, 可通过现有的 DOM 方法和属性自己手动封装一个 insertAfter 函数.
如下:

function insertAfter (newElement, targetElement){
    
    
	var parent = targetElement.parentNode;
	if(parent.lastChild == targetElement){
    
    
		parent.appendChild(newElement);
	}else{
    
    
		parent.insertBefore(newElement, targetElement.nextSibling);
	}
}

(newElement: 将被插入的新的元素, targetElement: 目标元素)

这个函数用到了以下 DOM 方法和属性 :
1, parentNode 属性: 返回某节点的父节点;
2, lastChild 属性: 返回选定元素的最后一个子节点;
3, appendChild 方法 : 向节点的子节点列表的末尾添加新的子节点;
4, insertBefore 方法 : 在已有的子节点前插入一个新的子节点;
5, nextSibling 属性 : 返回选定元素的下一个同级节点(在相同树层级中的下一个节点);

猜你喜欢

转载自blog.csdn.net/weixin_44356804/article/details/102872581