XML DOM insertBefore() metod

Definition och användning

insertBefore() Metoden infogar en ny barnnod innan den specificerade barnnoden i den aktuella noden.

Observera:Om newchild redan finns i trädet, tas den först bort.

Syntaks

nodeObject.insertBefore(newchild,existingnode,

)

) Beskrivning
newchild Obligatorisk. Node-objekt. Den nya barnnoden som ska infogas.
existingnode

Obligatorisk. Node-objekt. Noden där den nya barnnoden ska infogas.

Om den befintliga noden är tom, infogas den nya barnnoden i slutet av barnnodlistan.

Tekniska detaljer

DOM-version: Core Level 1 Node Object. Ändrad i DOM Level 3.
Returvärde: Node-objekt. Noden som infogas.

Exempel

Nedanstående kod laddar "books.xml", skapar en ny <book>-nod och infogar den före den sista <book>-noden:

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 =
    "Bokselementer före: " + y.length + "<br>";
    x.insertBefore(newNode, y[3]);
    document.getElementById("demo").innerHTML +=
    "Bokstäver efter element: " + y.length;
}

Prova själv

Webbläsarstöd

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Stöd Stöd Stöd Stöd Stöd

Alla ledande webbläsare stöder insertBefore() Metoder.