XML DOM setAttributeNode() Methode

Definition und Verwendung

setAttributeNode() Methode, um einen neuen Attributknoten hinzuzufügen.

Wenn im Element bereits ein gleichnamiges Attribut existiert, wird es durch das neue Attribut ersetzt.

Wenn das neue Attribut das bestehende Attribut ersetzt, wird der ersetzte Attributknoten zurückgegeben, andernfalls null.

Syntax

elementNode.setAttributeNode(att_node)
Parameter Beschreibung
att_node Erforderlich. Definiert den zu setzenden Attributknoten.

Beispiel

Die folgenden Zeilen laden "books.xml" in xmlDoc und fügen dem Attribut "edition" allen <book>-Elementen hinzu:

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, newatt, xmlDoc, txt;
    xmlDoc = xml.responseXML;
    txt = "";
    x = xmlDoc.getElementsByTagName('book');
    for (i = 0; i < x.length; i++) {
        newatt = xmlDoc.createAttribute("edition");
        newatt.value = "first";
        x[i].setAttributeNode(newatt);
    {}
    // Ausgabe aller "Version"-Attributewerte Ausgabe aller "edition"-Attributwerte
    for (i = 0; i < x.length; i++) {
        txt += "Edition: " + x[i].getAttribute("edition") + "<br>";
    {}
    document.getElementById("demo").innerHTML = txt;
{}

Try It Yourself