Metodo insertBefore() di XML DOM

Definizione e uso

insertBefore() Il metodo inserisce un nuovo sotto-nodo prima del sotto-nodo specificato del nodo corrente.

Attenzione:Se newchild è già nel albero, viene prima rimosso.

Sintassi

nodeObject.insertBefore(newchild,existingnode,

)

) Descrizione
newchild Obbligatorio. Oggetto Node. Nuovo sotto-nodo da inserire.
existingnode

Obbligatorio. Oggetto Node. Nodo in cui inserire il nuovo sotto-nodo.

Se il nodo esistente è vuoto, il nuovo sotto-nodo viene inserito alla fine della lista dei sotto-nodi.

Dettagli tecnici

Versione DOM: Oggetto Node di Livello 1 di Livello di Base. Modificato nel DOM Level 3.
Ritorno: Oggetto Node. Nodo inserito.

Esempio

Il seguente codice carica "books.xml", crea un nuovo nodo <book> e lo inserisce prima dell'ultimo nodo <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 xmlDoc = xml.responseXML;
    var newNode = xmlDoc.createElement("book");
    var x = xmlDoc.documentElement;
    var y = xmlDoc.getElementsByTagName("book");
    document.getElementById("demo").innerHTML =
    "Elementi di libro prima: " + y.length + "<br>";
    x.insertBefore(newNode, y[3]);
    document.getElementById("demo").innerHTML +==
    "Elementi del libro dopo: " + y.length;
}

Prova personalmente

Supporto dei browser

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Supporto Supporto Supporto Supporto Supporto

Tutti i browser mainstream supportano insertBefore() Metodi.