Atrybut firstChild XML DOM
Definicja i użycie
firstChild
Właściwość zwraca pierwszy węzeł potomny wybranego elementu
Jeśli wybrany węzeł nie ma węzłów potomnych, ta właściwość zwraca NULL.
Gramatyka
elementNode.firstChild
Uwaga:Firefox i większość innych przeglądarek traktują puste lub znaki nowej linii jako węzły tekstowe, podczas gdy Internet Explorer nie. Dlatego w poniższym przykładzie używamy funkcji, aby sprawdzić typ węzła pierwszego węzła potomnego.
nodeType elementu węzła wynosi 1, więc jeśli pierwszy węzeł potomny nie jest węzłem elementowym, przechodzi do następnego węzła i sprawdza, czy jest to węzeł elementowy. To będzie kontynuowane, aż znajdzie pierwszy węzeł potomny (musi być węzłem elementowym). W ten sposób wynik jest poprawny we wszystkich przeglądarkach.
Wskazówka:Aby uzyskać więcej informacji na temat różnic między przeglądarkami, odwiedź rozdział DOM przeglądarek w podręczniku XML DOM.
Przykład
Poniższy kodładuje "books.xml" do xmlDoc i pobiera pierwszy węzeł potomny:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Sprawdzenie, czy pierwszy węzeł jest węzłem elementowym 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) { // Przetwarzanie tylko węzłów elementowych txt += firstNode.childNodes[i].nodeName +""} " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }