XML DOM setAttributeNode() 메서드

정의와 사용법

setAttributeNode() 새 속성 노드 추가 메서드.

요소에 동일한 이름의 속성이 이미 존재하면, 그 속성을 새 속성으로 대체합니다.

새 속성이 기존 속성을 대체하면, 대체된 속성 노드를 반환하고, 그렇지 않으면 null을 반환합니다.

문법

elementNode.setAttributeNode(att_node)
파라미터 설명
att_node 필수. 설정할 속성 노드를 지정합니다.

예제

아래 코드는 "books.xml"를 xmlDoc에 로드하고 모든 <book> 요소에 "edition" 속성을 추가합니다:

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);
    {}
    // 모든 "version" 속성 값 출력 Output all "edition" attribute values
    for (i = 0; i < x.length; i++) {
        txt += "Edition: " + x[i].getAttribute("edition") + "<br>";
    {}
    document.getElementById("demo").innerHTML = txt;
{}

직접 시험해 보세요