Proprietà firstChild dell'XML DOM
Definizione e uso
firstChild
L'attributo restituisce il primo figlio del nodo specificato.
Sintassi
nodeObject.firstChild
Attenzione:Firefox e la maggior parte degli altri browser considerano gli spazi bianchi o le linee di ritorno come nodi di testo, mentre Internet Explorer non lo fa. Pertanto, nell'esempio seguente, utilizziamo una funzione per controllare il tipo di nodo del primo figlio.
Il nodeType degli elementi è 1, quindi se il primo figlio non è un nodo elemento, si passerà al nodo successivo e si controllerà se questo nodo è un nodo elemento. Questo processo continuerà fino a trovare il primo figlio (deve essere un nodo elemento). In questo modo, il risultato sarà corretto in tutti i browser.
Suggerimento:Per ulteriori informazioni sulle differenze tra i browser, visitare la sezione DOM Browser dell'XML DOM tutorial.
Esempio
Esempio 1
Il codice seguente carica "books.xml" in xmlDoc e mostra il nome del primo figlio del nodo:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Controllare se il primo nodo è un nodo elemento 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 = "Nodename: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" }
Esempio 2
Ottenere l'ultimo figlio del documento:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Controllare se l'ultimo nodo è un nodo elemento function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // Ottenere l'ultimo figlio del documento var x = get_lastchild(xmlDoc); // Ottenere l'ultimo figlio dell'elemento radice var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }