JS本身提供了insertBefore函数,如果想使用JS插入到目标元素之后,则需要自己创建函数insertAfter()
function insertAfter(newElement,targetElement){
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement,targetElement.nextsibling);
}
}
newElement为新元素,targetElement为目标元素.
实例如下
目的为将placeholder元素插入html中的gallery元素之后,将description元素插入至placeholder之后.
function placeHolder(){
var placeholder= document.createElement("img");
placeholder.setAttribute("id","placeholder");
placeholder.setAttribute("src","images/placeholder.jpg");
placeholder.setAttribute("alt","my image gallery");
var description= document.createElement("p");
description.setAttribute("id","description");
var desctxt= document.createTextNode("Choose a image.");
description.appendChild(desctxt);
var gallery= document.getElementById("imagegallery");
insertAfter(placeholder,gallery);
insertAfter(description,placeholder);