XML DOM insertBefore() 메서드

정의와 사용법

insertBefore() 이 메서드는 존재하는 자식 노드 앞에 새로운 자식 노드를 삽입합니다.

이 메서드는 이 새로운 자식 노드를 반환합니다.

문법

elementNode.insertBefore(new_node,existing_node)
파라미터 설명
new_node 필수. 삽입할 노드.
existing_node 필수. 존재하는 노드. 새로운 노드는 이 노드 앞에 삽입됩니다.

예제

아래의 코드는 "books.xml"을 xmlDoc에 로드하고, 새로운 <book> 요소를 생성하여 마지막 <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 =
    "Book elements before: " + y.length + "<br>";
    x.insertBefore(newNode, y[3]);
    document.getElementById("demo").innerHTML +=
    "Book elements after: " + y.length;
}

직접 시도해 보세요