Właściwość nextSibling XML DOM

Definicja i użycie

Właściwość nextSibling zwraca następnego brata węzła (następny węzeł na tym samym poziomie drzewa).

Jeśli taki węzeł nie istnieje, ta właściwość zwraca NULL.

Gramatyka:

elementNode.nextSibling

Wskazówki i komentarze

Komentarz:Internet Explorer ignoruje puste węzły tekstowe między węzłami (np. znaki nowej linii), podczas gdy Mozilla to nie robi. Dlatego w poniższym przykładzie używamy funkcji do sprawdzania typu węzła następnego brata węzła.

Typ węzła elementu wynosi 1, więc jeśli następny brat węzła nie jest węzłem elementu, przechodzimy do następnego węzła i sprawdzamy, czy jest to węzeł elementu. Ten proces jest kontynuowany, aż znajdziemy następnego brata węzła. Ta metoda zapewnia poprawne wyniki zarówno w Internet Explorerze, jak i w Mozilla.

Dla więcej informacji na temat różnic między przeglądarkami IE a Mozilla, odwiedź XML DOM tutorial na CodeW3C.com Przeglądarka DOM w tym rozdziale.

przykład

W wszystkich przykładach użyjemy pliku XML books.xmli funkcji JavaScript loadXMLDoc().

Poniższy kod fragment pobiera następnego brata węzła elementu <title> z dokumentu XML:

//sprawdź, czy następny brat węzła jest węzłem elementu
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);

Wyjście powyższego kodu:

title = Everyday Italian
Next sibling: author = Giada De Laurentiis