Metodo replaceChild() XML DOM
Definizione e utilizzo
replaceChild()
Il metodo sostituisce il nodo figlio con un nuovo nodo.
Il nuovo nodo può essere un nodo esistente nel documento o può essere creato.
Suggerimento:Il nodo sostituito può essere inserito in un qualsiasi elemento dello stesso documento in un secondo momento. Utilizza i metodi insertBefore() o appendChild() per inserirlo in un secondo momento nello stesso documento, o utilizza i metodi adoptNode() o importNode() per inserirlo in un altro documento.
Sintassi
nodeObject.replaceChild(newchild,oldchild)
Parametri
Parametri | Descrizione |
---|---|
newchild | Obbligatorio. Oggetto Node. Nodo da inserire nella lista dei figli. |
oldchild | Obbligatorio. Oggetto Node. Nodo da sostituire nella lista dei figli. |
Dettagli tecnici
Versione DOM: | Oggetto di Livello di Base 1 Node. Modificato nel DOM Level 3. |
---|---|
Ritorna: | Oggetto Node. Nodo sostituito (oldchild). |
Esempio
Il codice seguente carica "books.xml" nel xmlDoc e sostituisce l'elemento <book> primo:
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; // Crea un elemento book, un elemento title e un nodo testo newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); // Aggiungi il nodo testo al nodo title newTitle.appendChild(newText); // Aggiungi il nodo title al nodo book newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; // Sostituisci il primo nodo book con un nuovo nodo book x.replaceChild(newNode, y); z = xmlDoc.getElementsByTagName("title"); // Outputta tutti i 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()
方法。