insertBefore:在已有元素前插入一个新元素

  • 新元素:插入的元素(newElement)
  • 目标元素:新元素插入到哪个元素(targetElement)之前
  • 父元素:目标元素的父元素

调用语法:targetElement.parentNode.insertBefore(newElement, targetElement)

insertAfter实现:在现有元素后插入一个新元素

function insertAfter(newElement, targetElement){
    var parentElement = targetElement.parentNode; // 获取父元素
    // 判断targetElement是否为父元素最后一个子元素
    if(parentElement.lastChild === targetElement){
  		// 父元素直接插入新元素
    	parentElement.appendChild(newElement);
    }else{
    	// 往目标元素的下一个兄弟元素前面插入新元素
    	parentElement.insertBefore(newElement, targetElement.nextSibling);
    }
}