链接地址:http://blog.csdn.net/hj7jay/article/details/53389522
1、节点创建API
节点创建API主要包括 createElement 、 createTextNode 、 cloneNode 和 createDocumentFragment 四个方法。
通过 createElement 创建的元素并不属于 document 对象,它只是创建出来,并未添加到html文档中,要调用 appendChild 或 insertBefore 等方法将其添加到HTML文档中。
html:
<p id="test1">1111</p>
<p>2222</p>
<p>3333</p>
js:
var test1=document.getElementById("test1");
var node = document.createElement("p");
node.innerHTML = '8888';
test1.insertBefore(node,test1.childNodes[0]);
//在111之前添加一个节点插入8888,这里的test1.childNodes[0]指的是在第一个节点前插入。
var test1=document.getElementById("test1");
var node = document.createElement("p");
node.innerHTML = '6666';
test1.appendChild(node);
//在111之后添加节点插入6666
appendChild和insertBefore语法:
parent.appendChild(child);//把孩子节点插入到父节点之后
parentNode.insertBefore(newNode, refNode); //在指定的节点之前插入新节点
<code>
refNode是必传的,如果不传该参数会报错;
如果refNode是undefined或null,则insertBefore会将节点添加到末尾;
</code>
这里需要注意的是childNodes/children两个区别:
childNodes会把所有的节点(包括换行的空格)都算进去,而children只考虑的只是
子元素。所以一般最好就用children【i】插入,不会考虑到换行空格等。