XML DOM insertBefore() 方法
❮ Node 物件
示例
以下程式碼片段載入 "books.xml",建立一個新的 <book> 節點,並將其插入到最後一個 <book> 節點之前。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var newNode = xmlDoc.createElement("book");
var x = xmlDoc.documentElement;
var y = xmlDoc.getElementsByTagName("book");
document.getElementById("demo").innerHTML =
"插入前 Book 元素數量: " + y.length + "<br>";
x.insertBefore(newNode, y[3]);
document.getElementById("demo").innerHTML +=
"插入後 Book 元素數量: " + y.length;
}
上面程式碼的輸出將是
插入前 Book 元素數量: 4
插入後 Book 元素數量: 5
自己動手試一試 »
定義和用法
insertBefore() 方法將一個新子節點插入到當前節點的指定子節點之前。
注意:如果 *newchild* 已經存在於樹中,它將被首先移除。
瀏覽器支援
insertBefore() 方法在所有主流瀏覽器中都得到支援。
語法
nodeObject.insertBefore(newchild,existingnode)
引數
引數 | 型別 | 描述 |
---|---|---|
newchild | 節點物件 | 必需。要插入的新子節點 |
existingnode | 節點物件 | 必需。要插入新子節點之前的節點。如果 *existingnode* 為 null,則將 *newchild* 插入到子節點列表的末尾。 |
返回值
型別 | 描述 |
---|---|
節點物件 | 插入的節點 |
技術詳情
DOM 版本 | Core Level 1 Node Object。在 DOM Level 3 中修改 |
---|
❮ Node 物件