Właściwość firstChild XML DOM
Definicja i użycie
firstChild
Właściwość zwraca pierwszy potomek dokumentu.
Gramatyka
documentObject.firstChildUwaga:Firefox i większość innych przeglądarek traktują białe znaki lub przejścia liniowe jako węzły tekstowe, podczas gdy Internet Explorer tego nie robi. Dlatego w poniższym przykładzie używamy funkcji, aby sprawdzić typ węzła pierwszego potomka.
nodeType elementu węzła wynosi 1, więc jeśli pierwszy potomek nie jest węzłem elementu, przechodzi do następnego węzła i sprawdza, czy jest to węzeł elementu. To trwa, aż znajdzie pierwszy węzeł (musi być węzłem elementu). 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 tutorialu XML DOM.
Przykład
Przykład 1
Poniższy kod ładuje "books.xml" do xmlDoc i wyświetla nazwę węzła pierwszego potomka oraz jego typ:
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 elementu function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = get_firstchild(xmlDoc); document.getElementById("demo").innerHTML = "Nazwa węzła: " + x.nodeName + " (rodzaj węzła: " + x.nodeType + ")<br>" }
Przykład 2
Pobieranie ostatniego potomka dokumentu:
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 ostatni węzeł jest węzłem elementu function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // Pobieranie ostatniego potomka dokumentu var x = get_lastchild(xmlDoc); // Pobieranie ostatniego potomka elementu korzenia var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nazwa węzła: " + x.nodeName + " (rodzaj węzła: " + x.nodeType + ")<br>" + "Nazwa węzła: " + y.nodeName + " (rodzaj węzła: " + y.nodeType + ")<br>"; }