XML DOM lastChild-egenskab
Definition og brug
sidsteBarn
Egenskaben returnerer den sidste underknude for det valgte element.
Hvis den valgte knude ikke har nogen underknuder, returnerer denne egenskab NULL.
Syntaks
elementNode.lastChild
BemærkFirefox og de fleste andre browsere betragter tomrum eller linjeskift som tekstknuder, mens Internet Explorer ikke gør det. Derfor bruger vi en funktion i nedenstående eksempel til at tjekke nodeTypen for den sidste underknude.
Elementknudernes nodeType er 1, så hvis den sidste underknude ikke er en elementknude, vil den flytte til den foregående knude og tjekke om denne knude er en elementknude. Dette vil fortsætte, indtil den finder den sidste underknude (som skal være en elementknude). På denne måde er resultatet korrekt i alle browsere.
VedligeholdelseFor at få mere information om forskelle mellem browsere, besøg sektionen om DOM-browsere i XML DOM-tutorials.
Eksempel
Nedenstående kode loader "books.xml" til xmlDoc og henter den sidste underknude:var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Tjek om den sidste node er en elementknude 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) { // Kun behandle elementknuder txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }