XML DOM replaceChild() method
Definition and usage
replaceChild()
The method replaces the child node with a new node.
The new node can be an existing node in the document or a newly created node.
Tip:The replaced child node can be inserted later into any element in the same document. Please use the insertBefore() or appendChild() method to insert it into the same document later, or use the adoptNode() or importNode() method to insert the replaced node into another document.
Syntax
nodeObject.replaceChild(newchild,oldchild)
Parameters
Parameters | Description |
---|---|
newchild | Required. Node object. The new node to be placed in the child node list. |
oldchild | Required. Node object. The node to be replaced in the child node list. |
Technical details
DOM version: | Core Level 1 Node Object. Modified in 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; }
Support du navigateur
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Support | Support | Support | Support | Support |
Tous les navigateurs populaires le supportent replaceChild()
Méthodes.