XML DOM setAttributeNode() Method

Definition and Usage

setAttributeNode() Method to add a new attribute node.

If an element already contains an attribute with the same name, it will replace it with the new attribute.

If the new attribute replaces an existing attribute, it returns the replaced attribute node, otherwise it returns null.

Syntax

elementNode.setAttributeNode(att_node
Description
att_node Required. Specifies the attribute node to be set.

Example

Below code loads "books.xml" into xmlDoc and adds "edition" attribute to all <book> elements:

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);
    {}
    // Output all "edition" attribute values
    for (i = 0; i < x.length; i++) {
        txt += "Editie: " + x[i].getAttribute("edition") + "<br>";
    {}
    document.getElementById("demo").innerHTML = txt;
{}

Probeer het zelf