XML DOM firstChild 속성
정의와 사용법
firstChild
속성은 선택된 요소의 첫 번째 자식 노드를 반환합니다.
선택된 노드가 자식 노드가 없다면, 이 속성은 NULL을 반환합니다.
문법
elementNode.firstChild
주의:Firefox와 대부분의 다른 브라우저는 공백이나 개행을 텍스트 노드로 간주하지만, Internet Explorer는 그렇지 않습니다. 따라서 아래 예제에서는 첫 번째 자식 노드의 노드 타입을 확인하는 함수를 사용합니다.
요소 노드의 nodeType는 1이며, 따라서 첫 번째 자식 노드가 요소 노드가 아니면 다음 노드로 이동하여 요소 노드인지 확인합니다. 이는 첫 번째 자식 노드가 (요소 노드여야 합니다) 찾아질 때까지 지속됩니다. 이렇게 하면 모든 브라우저에서 결과가 일관됩니다.
훌륭히:브라우저 간 차이에 대한更多信息를 알고 싶다면, XML DOM 교육의 DOM 브라우저 장을 방문하세요。
예제
아래 코드는 "books.xml"를 xmlDoc에 로드하고 첫 번째 자식 노드를 가져옵니다:
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 get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_firstchild(x); for (i = 0; i < firstNode.childNodes.length; i++) { if (firstNode.childNodes[i].nodeType == 1) { // 처리할 요소 노드 만 txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }