XML DOM ιδιότητα firstChild

Ορισμός και Χρήση

firstChild Η ιδιότητα επιστρέφει τον πρώτο υποκόμβο του εγγράφου.

Γραμματική

documentObject.firstChild
Συμβουλές και Σημειώσεις

Σημείωση:Firefox και πολλοί άλλοι περιηγητές θεωρούν το κενό ή τα κατώτερα στίγματα ως κόμβους κειμένου, ενώ ο Internet Explorer δεν το κάνει. Επομένως, στον παρακάτω παράδειγμα, χρησιμοποιούμε μια συνάρτηση για να ελέγξουμε τον τύπο του πρώτου υποκόμβου.

The nodeType of element nodes is 1, so if the first child node is not an element node, it will move to the next node and check if that node is an element node. This will continue until the first child node (which must be an element node) is found. This ensures that the result is correct in all browsers.

Tip:For more information on differences between browsers, please visit the DOM Browser section in the XML DOM tutorial.

Instance

Example 1

The following code loads "books.xml" into xmlDoc and displays the name and type of the first child node:

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 first node is an element node
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>"
}

亲自试一试

Example 2

Γained the last child of the document:

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 xmlDoc = xml.responseXML;
    // Γained the last child of the document
    var x = get_lastchild(xmlDoc);
    // Γained the last child of the root element
    var y = get_lastchild(xmlDoc.documentElement);
    document.getElementById("demo").innerHTML =
    "Nodename: " + x.nodeName +" 
    " (nodetype: " + x.nodeType + ")<br>" +
    "Nodename: " + y.nodeName + 
    " (nodetype: " + y.nodeType + ")<br>";
}

亲自试一试