Właściwość previousSibling w XML DOM

Podręcznik obiektu Node

Definicja i użycie

Właściwość previousSibling zwraca poprzedni węzeł, który ściśle przylega do danego węzła (na tym samym poziomie drzewa).

Jeśli nie ma tego węzła, ta właściwość zwraca null.

Gramatyka:

nodeObject.previousSibling

Wskazówki i komentarze

Komentarz:Internet Explorer ignoruje węzły tekstowe pomiędzy węzłami (np. znaki nowej linii), podczas gdy Mozilla nie robi tego. Dlatego w poniższych przykładach użyjemy funkcji do sprawdzenia typu węzła pierwszego dziecinnego.

Typ węzła elementu to 1, więc jeśli pierwszy dziecinny węzeł nie jest węzłem elementu, przechodzi do następnego węzła i kontynuuje sprawdzanie, czy ten węzeł jest węzłem elementu. Proces ten będzie trwał, aż znajdzie pierwszy element dziecinny. Dzięki tej metodzie możemy uzyskać poprawne metody 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ą DOM przeglądarki rozdział.

przykład

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

Poniższy kod można uzyskać z dokumentu XML z elementu <author> poprzedniego węzła brata:

//sprawdź, czy poprzedni brat węzła jest węzłem elementu
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />Poprzedni węzeł: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

Wynik:

author = Giada De Laurentiis
Poprzedni węzeł: title = Everyday Italian

Podręcznik obiektu Node