XML DOM nextSibling-eigenschap
Definitie en gebruik
De nextSibling-eigenschap kan het volgende element na een element retourneren (op dezelfde tak van de boom).
Als er geen dergelijk node is, retourneert de eigenschap null.
Syntax:
nodeObject.nextSibling
Tips en opmerkingen
Opmerking:Internet Explorer negeert de lege tekst nodes die tussen nodes worden gegenereerd (bijvoorbeeld, een enter-teken), terwijl Mozilla dit niet doet. Daarom gebruiken we in de volgende voorbeelden een functie om het nodeType van de eerste subnode te controleren.
De nodeType van een element node is 1, dus als de eerste subnode geen element node is, zal deze naar de volgende node verhuizen en vervolgens controleren of deze een element node is. Dit proces zal doorgaan tot de eerste element subnode wordt gevonden. Op deze manier kunnen we in Internet Explorer en Mozilla de juiste methode verkrijgen.
Tip:Voor meer informatie over de verschillen tussen de XML DOM van IE en Mozilla, bezoek onze DOM-browser hoofdstukken.
voorbeeld
In alle voorbeelden gebruiken we het XML-bestand books.xmlen de JavaScript-functie loadXMLDoc()。
De volgende codefragment kan de volgende同级子节点 van het eerste <title> element in het XML-document ophalen:
//controleer of het volgende sibling node een element node is
function get_nextsibling(n)
{
var x=n.nextSibling
;
while (x.nodeType!=1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("title")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_nextsibling(x);
document.write("<br />Next sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Output:
title = Everyday Italian Next sibling: author = Giada De Laurentiis