XML DOM nextSibling- eigenschap
❮ Knooppuntobject
Voorbeeld
Het volgende codefragment laadt " books.xml " in xmlDoc en haalt het volgende knooppunt op van het eerste <title>-element:
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 next sibling node is an element node
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>Next sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
De uitvoer van de bovenstaande code zal zijn:
title = Everyday Italian
Next sibling: author = Giada De Laurentiis
Definitie en gebruik
De eigenschap nextSibling retourneert het knooppunt dat onmiddellijk volgt op een knooppunt (het volgende knooppunt op hetzelfde boomniveau).
Als er geen dergelijk knooppunt is, retourneert deze eigenschap null.
Syntaxis
nodeObject.nextSibling
Tips en opmerkingen
Opmerking: Firefox en de meeste andere browsers behandelen lege spaties of nieuwe regels als tekstknooppunten, Internet Explorer niet. Dus in het onderstaande voorbeeld hebben we een functie die het knooppunttype van het volgende zusterknooppunt controleert.
Elementknooppunten hebben een nodeType van 1, dus als het volgende knooppunt geen elementknooppunt is, gaat het naar het volgende knooppunt en controleert het of dit knooppunt een elementknooppunt is. Dit gaat door totdat het volgende knooppunt (dat een elementknooppunt moet zijn) is gevonden. Op deze manier is het resultaat in alle browsers correct.
Tip: om meer te lezen over de verschillen tussen browsers, bezoek ons hoofdstuk over DOM-browsers in onze XML DOM-zelfstudie.
Probeer-het-zelf-demo's
❮ Knooppuntobject