Właściwość nextSibling w XML DOM
Definicja i użycie
Właściwość nextSibling zwraca element, który bezpośrednio następuje po danym elemencie (z tym samym poziomem drzewa).
Jeśli nie ma takiego węzła, właściwość zwraca null.
Gramatyka:
nodeObject.nextSibling
Wskazówki i komentarze
Komentarz:Internet Explorer ignoruje węzły tekstowe pomiędzy węzłami (np. znaki nowej linii), podczas gdy Mozilla tego nie robi. Dlatego w poniższych przykładach użyjemy funkcji do sprawdzenia typu węzła pierwszego syna.
Typ węzła elementu to 1, więc jeśli pierwszy syn nie jest węzłem elementem, przechodzi do następnego węzła i kontynuuje sprawdzanie, czy jest to węzeł elementowy. Proces ten trwa, aż zostanie znaleziony pierwszy elementowy syn. Dzięki temu możemy uzyskać poprawny sposób w Internet Explorer i Mozilla.
Wskazówka:Dla więcej informacji na temat różnic między XML DOM w przeglądarkach IE i Mozilla, odwiedź nasz przeglądarka DOM rozdział.
przykład
W wszystkich przykładach użyjemy pliku XML books.xmloraz funkcja JavaScript loadXMLDoc()。
Poniższy kod fragment pozwala uzyskać następny brat węzła elementu pierwszego <title> w dokumencie XML:
//sprawdź, czy następny brat jest węzłem elementem
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);
Wynik:
title = Everyday Italian Next sibling: author = Giada De Laurentiis