XML DOM ιδιότητα firstChild
Ορισμός και Χρήση
firstChild
Η ιδιότητα επιστρέφει τον πρώτο υποκόμβο του καθορισμένου κόμβου.
Γλώσσα
nodeObject.firstChild
Σημείωση:Firefox και πολλοί άλλοι περιηγητές θεωρούν τα κενά ή τις αλλαγές γραμμής ως κόμβους κειμένου, ενώ ο Internet Explorer δεν το κάνει. Επομένως, στον παρακάτω παράδειγμα, χρησιμοποιούμε μια συνάρτηση για να ελέγξουμε τον τύπο του πρώτου υποκόμβου.
Ο τύπος του στοιχείου nodeType είναι 1, οπότε αν ο πρώτος υπονομή δεν είναι στοιχείο, μετακινείται στον επόμενο κόμβο και ελέγχει αν ο κόμβος είναι στοιχείο. Αυτό συνεχίζεται μέχρι να βρεθεί ο πρώτος υπονομή (πρέπει να είναι στοιχείο). Με αυτόν τον τρόπο, το αποτέλεσμα είναι σωστό σε όλους τους προγραμματιστές.
Σημείωση:Για περισσότερες πληροφορίες σχετικά με τις διαφορές μεταξύ των προγραμματιστών των προγραμματιστών, επισκεφθείτε το κεφάλαιο "DOM Προγράμματα" του Εκπαιδευτικού Πρόγραμματος XML DOM.
Παράδειγμα
Παράδειγμα 1
Η παρακάτω κώδικας φορτώνει το "books.xml" στο xmlDoc και εμφανίζει το όνομα του πρώτου υπονομή του στοιχείου:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Ελέγχω αν ο πρώτος κόμβος είναι στοιχείο 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 = "Όνομα Νόμου: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>"; }
Παράδειγμα 2
Λητάω τον τελευταίο υπονομή του έγγραφου:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Ελέγχω αν ο τελευταίος κόμβος είναι στοιχείο function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // Λητάω τον τελευταίο υπονομή του έγγραφου var x = get_lastchild(xmlDoc); // Λητάω τον τελευταίο υπονομή του ρίζα στοιχείου var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Όνομα Νόμου: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Όνομα Νόμου: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }