proprietà lastChild dell'XML DOM
definizione e uso
ultimo figlio
Questa proprietà restituisce l'ultimo figlio dell'elemento selezionato.
Se il nodo selezionato non ha figli, questa proprietà restituisce NULL.
Sintassi
elementNode.lastChild
Attenzione:Firefox e molti altri browser considerano gli spazi bianchi o le virgole come nodi di testo, mentre Internet Explorer non lo fa. Pertanto, nel seguente esempio, usiamo una funzione per verificare il tipo di nodo dell'ultimo figlio.
Il nodeType degli elementi è 1, quindi se l'ultimo figlio non è un nodo elementare, si muove al nodo precedente e si verifica se questo nodo è un nodo elementare. Questo processo continua fino a trovare l'ultimo figlio (deve essere un nodo elementare). In questo modo, il risultato è corretto in tutti i browser.
Suggerimento:Per ulteriori informazioni sulle differenze tra i browser, visitare la sezione DOM Browser dell'XML DOM Tutorial.
Esempio
Il seguente codice carica "books.xml" in xmlDoc e ottiene l'ultimo figlio:var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Verifica se l'ultimo nodo è un nodo elementare 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) { // Solo gestisce i nodi elementari txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }