XML DOM proprietà lastChild
❮ Oggetto Elemento
Esempio
Il seguente frammento di codice carica " books.xml " in xmlDoc e ottiene l'ultimo nodo 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();
// Check if the last node is an
element node
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) {
//Process only element nodes
txt += firstNode.childNodes[i].nodeName +
" = " +
firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
}
}
document.getElementById("demo").innerHTML
= txt;
}
L'output del codice sopra sarà:
title = Learning XML
author = Erik T. Ray
year = 2003
price = 39.95
Definizione e utilizzo
La proprietà lastChild restituisce l'ultimo nodo figlio dell'elemento selezionato
Se il nodo selezionato non ha figli, questa proprietà restituisce NULL.
Sintassi
elementNode.lastChild
Suggerimenti e note
Nota: Firefox e la maggior parte degli altri browser tratteranno gli spazi vuoti o le nuove righe come nodi di testo, Internet Explorer no. Quindi, nell'esempio seguente, abbiamo una funzione che controlla il tipo di nodo dell'ultimo nodo figlio.
Nodi elemento ha un nodeType di 1, quindi se l'ultimo nodo figlio non è un nodo elemento, si sposta al nodo precedente e controlla se questo nodo è un nodo elemento. Ciò continua fino a quando non viene trovato l'ultimo nodo figlio (che deve essere un nodo elemento). In questo modo, il risultato sarà corretto in tutti i browser.
Suggerimento: per saperne di più sulle differenze tra i browser, visita il nostro capitolo sui browser DOM nel nostro tutorial XML DOM.
❮ Oggetto Elemento