Metode XML DOM replaceChild()
Definisi dan Penggunaan
replaceChild()
Metode menggantikan noda anak dengan noda baru.
Noda baru boleh menjadi noda yang ada di dokumen, atau boleh diciptakan.
Petikan:Noda anak yang digantikan dapat disisipkan kembali ke dalam mana-mana elemen yang sama dokumen nanti. Gunakan metode insertBefore() atau appendChild() untuk menyisipkannya ke dalam dokumen yang sama nanti, atau gunakan metode adoptNode() atau importNode() untuk menyisipkan noda yang digantikan ke dalam dokumen lain.
Sintaks
nodeObject.replaceChild(newchild,oldchild)
Parameter
Parameter | Penerangan |
---|---|
newchild | Diperlukan. Objek Node. Noda baru yang akan dimasukkan ke dalam senarai anak. |
oldchild | Diperlukan. Objek Node. Noda yang akan digantikan dalam senarai anak. |
Perincian Teknik
Versi DOM: | Core Level 1 Node Object. Diubah di DOM Level 3. |
---|---|
返回值: | Node 对象。被替换的节点(oldchild)。 |
实例
下面的代码将 "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 元素和一个文本节点 newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); // 将文本节点添加到 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; {}
浏览器支持
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 |
所有主流浏览器都支持 replaceChild()
方法。