XML DOM replaceChild() 方法
❮ Node 物件
示例
下面的程式碼片段載入 "books.xml" 到 xmlDoc,並替換第一個 <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 x, y, z, i, newNode, newTitle, newText, xmlDoc, txt;
xmlDoc = xml.responseXML;
txt = "";
x = xmlDoc.documentElement;
// 建立一個 book 元素,title 元素和一個 text 節點
newNode = xmlDoc.createElement("book");
newTitle = xmlDoc.createElement("title");
newText = xmlDoc.createTextNode("A Notebook");
// 將 text 節點新增到 title 節點
newTitle.appendChild(newText);
// 將 title 節點新增到 book 節點
newNode.appendChild(newTitle);
y = xmlDoc.getElementsByTagName("book")[0];
// 用新的 book 節點替換第一個 book 節點
x.replaceChild(newNode, y);
z = xmlDoc.getElementsByTagName("title");
// 輸出所有 title
for (i = 0; i < z.length; i++) {
txt += z[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;
}
上面程式碼的輸出將是
A Notebook
Harry Potter
XQuery Kick Start
學習 XML
自己動手試一試 »
定義和用法
replaceChild() 方法用一個新節點替換一個子節點。
新節點可以是文件中已有的節點,也可以是新建立的節點。
提示: 被替換的子節點之後可以被插入到同一文件中的任何元素裡。可以使用 insertBefore() 或 appendChild() 方法之後插入到同一文件中,或者使用 adoptNode() 或 importNode() 方法將替換的節點插入到另一個文件中。
瀏覽器支援
replaceChild() 方法在所有主流瀏覽器中都受支援。
語法
nodeObject.replaceChild(newchild,oldchild)
引數
引數 | 型別 | 描述 |
---|---|---|
newchild | 節點物件 | 必需。要放在子列表中的新節點 |
oldchild | 節點物件 | 必需。將在子列表中被替換的節點 |
返回值
型別 | 描述 |
---|---|
節點物件 | 被替換的節點(oldchild) |
技術詳情
DOM 版本 | Core Level 1 Node Object。在 DOM Level 3 中修改 |
---|
❮ Node 物件