这几天需要用到对HTML节点元素的删/插操作,由于用到insertBefore方法的时候遇到了一些麻烦,现在作为知识的整理,分别对 appendChild、insertBefore和insertAfter做个总结
appendChild定义
Appends a node to the childNodes array for the node.
Supported: IE 5.0+, Mozilla 1.0+, Netscape 6.0+, Safari 1.0+, Opera 7.0+
target.appendChild(newChild)
newChild作为target的子节点插入最后的一子节点之后
var newElement = document.Document.createElement( ' label ' );
newElement.Element.setAttribute( ' value ' , ' Username: ' );
var usernameText = document.Document.getElementById( ' username ' );
usernameText.appendChild(newElement);
target.insertBefore(newChild,existingChild)
newChild作为target的子节点插入到 existingChild节点之前
existingChild为可选项参数,当为null时其效果与 appendChild一样
var newNode = document.createElement( " p " );
newNode.innerHTML = " This is a test " ;
oTest.insertBefore(newNode,oTest.childNodes[ 0 ]);
{
var parentEl = targetEl.parentNode;
if (parentEl.lastChild == targetEl)
{
parentEl.appendChild(newEl);
} else
{
parentEl.insertBefore(newEl,targetEl.nextSibling);
}
}
var txtName = document.getElementById("txtName");
var htmlSpan = document.createElement("span");
htmlSpan.innerHTML = "This is a test";
insertAfter(htmlSpan,txtName);
将htmlSpan 作为txtName 的兄弟节点插入到txtName 节点之后
转载请注明出处[http://samlin.cnblogs.com/ ]