XML DOM nextSibling property

Definition and Usage

nextSibling The property returns the node following a certain node (the next node at the same tree level).

If such a node does not exist, this property returns null.

Syntax

nodeObject.nextSibling
Tips and Notes

Note:Firefox and most other browsers treat whitespace or line breaks as text nodes, while Internet Explorer does not. Therefore, in the following example, we use a function to check the node type of the next sibling node.

Element node's nodeType is 1, so if the next sibling node is not an element node, it moves to the next node and checks whether the node is an element node. This will continue until the next sibling node (must be an element node) is found. As a result, it is correct in all browsers.

Vinkki:Lisätietoja selaimien välisistä eroista löydät XML DOM-opastuksesta DOM-selaimet-luvusta.

Esimerkki

Esimerkki 1

Seuraava koodi ladataan "books.xml" xmlDoc:iin ja hankitaan seuraava saman tason solmu ensimmäisestä <title>-elementistä:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// Tarkista, onko seuraava sisar solmu elementti
function get_nextsibling(n) {
    var x = n.nextSibling;
    while (x.nodeType != 1) {
        x = x.nextSibling;
    }
    return x;
}
function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("title")[0];
    var y = get_nextsibling(x);
    document.getElementById("demo").innerHTML = x.nodeName + " = " +
    x.childNodes[0].nodeValue +
    "<br>Seuraava sisar: " + y.nodeName + " = " +
    y.childNodes[0].nodeValue;
}

Kokeile itse

Esimerkki 2

Hanki solmun edellisen saman tason solmun:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// Tarkista, onko edellinen saman tason solmu elementti
function get_previoussibling(n) {
    var x = n.previousSibling;
    while (x.nodeType != 1) {
        x = x.previousSibling;
    }
    return x;
}
function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("author")[0];
    var y = get_previoussibling(x);
    document.getElementById("demo").innerHTML = x.nodeName + " = " + 
    x.childNodes[0].nodeValue +
    "<br>Edellinen sisar: " + y.nodeName + " = " + 
    y.childNodes[0].nodeValue;
}

Kokeile itse