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 inserted into 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.
Rückgabewert: Node-Objekt. Der ersetzte Knoten (oldchild).

Beispiel

Das folgende Code fügt "books.xml" in xmlDoc ein und ersetzt den ersten <book>-Knoten:

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;
    // Ein book-Element, ein title-Element und ein Textknoten werden erstellt
    newNode = xmlDoc.createElement("book");
    newTitle = xmlDoc.createElement("title");
    newText = xmlDoc.createTextNode("Hello World");
    // Der Textknoten wird zum title-Knoten hinzugefügt
    newTitle.appendChild(newText);
    // Der title-Knoten wird zum book-Knoten hinzugefügt
    newNode.appendChild(newTitle);
    y = xmlDoc.getElementsByTagName("book")[0];
    // Der neue book-Knoten ersetzt den ersten book-Knoten
    x.replaceChild(newNode, y);
    z = xmlDoc.getElementsByTagName("title");
    // Ausgabe aller Titel
    for (i = 0; i < z.length; i++) {
        txt += z[i].childNodes[0].nodeValue + "<br>";
    }
    document.getElementById("demo").innerHTML = txt;
}

Try It Yourself

Browser Support

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Support Support Support Support Support

All major browsers support replaceChild() Methods.