Atrybut lastChild w XML DOM
Definicja i użycie
ostatni dziecko
Właściwość zwraca ostatni podwęzeł wybranego elementu.
Jeśli wybrany węzeł nie ma podwęzłów, ta właściwość zwraca NULL.
Gramatyka
elementNode.lastChild
Uwaga:Firefox i większość innych przeglądarek traktują puste lub wiersze jako węzły tekstowe, podczas gdy Internet Explorer nie. Dlatego w poniższym przykładzie używamy funkcji do sprawdzenia typu węzła ostatniego podwęzła.
nodeType elementu węzła wynosi 1, więc jeśli ostatni podwęzeł nie jest węzłem elementu, przechodzi do poprzedniego węzła i sprawdza, czy ten węzeł jest węzłem elementu. To trwa, aż znajdzie ostatni podwęzeł (musi to być węzeł 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
Poniższy kod ładuje "books.xml" do xmlDoc i uzyskuje ostatni podwęzeł: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 x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_lastchild(x); for (i = 0; i < firstNode.childNodes.length; i++) { if (firstNode.childNodes[i].nodeType == 1) { // Tylko elementy węzłów są przetwarzane txt += firstNode.childNodes[i].nodeName +"" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }