XML DOM nextSibling-Attribut
Definition und Verwendung
Die nextSibling-Attribut gibt den nächsten gleichstufigen Knoten des ausgewählten Knotens zurück (den nächsten Knoten im gleichen Baumebene).
Falls kein solcher Knoten existiert, wird das Attribut NULL zurückgegeben.
Syntax:
elementNode.nextSibling
Hinweise und Anmerkungen
Anmerkung:Internet Explorer ignoriert die zwischen Knoten generierten Leerheitstextknoten (z.B. Zeilenumbrüche), während Mozilla dies nicht tut. Daher wird in den folgenden Beispielen eine Funktion verwendet, um den Knotenart des nächsten gleichstufigen Knotens zu überprüfen.
Der Knotenart des Elementknotens ist 1, daher wird, wenn der nächste gleichstufige Knoten kein Elementknoten ist, zum nächsten Knoten gesprungen und überprüft, ob dieser Knoten ein Elementknoten ist. Dieser Prozess wird fortgesetzt, bis der nächste gleichstufige Knoten gefunden ist. Diese Methode stellt sicher, dass korrekte Ergebnisse in Internet Explorer und Mozilla erhalten werden.
Für mehr Informationen über die Unterschiede zwischen IE und Mozilla-Browser besuchen Sie bitte das XML DOM-Tutorial auf CodeW3C.com DOM-Browser diesem Abschnitt.
Beispiel
In allen Beispielen verwenden wir das XML-Dokument books.xmlsowie der JavaScript-Funktion loadXMLDoc().
Der folgende Codeabschnitt ermittelt den nächsten gleichstufigen Knoten eines <title>-Elements im XML-Dokument:
//prüfen, ob der nächste Schwesterknoten ein Elementknoten ist
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 />Nächster Bruder: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Die Ausgabe des obigen Codes:
title = Everyday Italian Nächster Bruder: author = Giada De Laurentiis