Właściwość nextSibling w XML DOM

Podręcznik do obiektu Node

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

Podręcznik do obiektu Node