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元素的最后一個子節點被重新出插入到新位置。