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