appendChild():方法将给元素节点追加一个子节点:
reference = element.appendChild(newChild);
如上所示,给定节点newChild将成为给定元素节点element的最后一个子节点,这个方法的返回值是一个新增子节点的引用指针。
这个方法通常与创建新节点的createElement()和createTextNode()方法配合使用。
在下面的例子中,第一条语句用createElement()方法创建了一个para文本段元素,第二条语句用createTextNode()方法创建了一个message文本节点,第三条语句用appendChild()方法把message文本节点插入了para元素节点:
var para = document.createElement("p"); var message = document.createTextNode("hello world"); para.appendChild(message);
接下来在此使用appendChild()方法,但这次把para元素插入文档的结构:
document.body.appendChild(para);
上面的语句把para元素追加给文档中body元素。
新节点可被追加给文档中的任意一个元素。在下例中,我们把新的文本节点追加了当前文档中那个id属性值是headline的元素:
var message = document.createTextNode("hello world"); var container = document.getElementById("headline"); container.appendChild(message);
现在container元素的lastChild属性将被刷新为包含着文本“hello world”的新增文本节点。
appendChild()方法不仅乐意追加新创建元素,还可以用来挪动文档中的现有元素。
在下面的例子中,第一条语句将去寻找id属性值是content的元素,第二条将去寻找id属性值是fineprint的元素,第三条语句将把fineprint元素从他当前位置剪切下来追加到content元素末尾:
var message = document.getElementById("fineprint"); var container = document.getElementById("content"); container.appendChild(message);
注意,id属性值是fineprint的元素将先从文档上被删除,然后在作为content元素的最后一个子节点被重新出插入到新位置。