Proprietà firstChild dell'XML DOM
Definizione e uso
firstChild
L'attributo restituisce il primo figlio del documento.
Sintassi
documentObject.firstChildAttenzione:Firefox e la maggior parte degli altri browser considerano gli spazi bianchi o i righi di riporto 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 sposterà al nodo successivo e si verificherà 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'insegnamento XML DOM.
Esempio
Esempio 1
Il seguente codice carica "books.xml" in xmlDoc e visualizza il nome del primo figlio e il tipo di 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(); // Verificare 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(); // Verificare 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>"; }