Latest web development tutorials

XML DOM - węzeł nawigacji

Węzeł może poruszać za pomocą relacji między węzłami.


Węzeł Nawigacja DOM

Zależność pomiędzy węzłem dostępowym przez węzeł węzeł w drzewie, powszechnie nazywany węzłem nawigacyjnym ( "nawigacyjnym węzły").

W DOM XML zależność pomiędzy węzłami jest definiowana jako właściwość węzła:

  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

Poniższy rysunek przedstawia Books.xml część węzłów drzewa, i ilustruje zależność między węzłami:

węzeł drzewa


DOM - rodzic

Wszystkie węzły mają tylko jednego rodzica. Poniższy kod, aby przejść do książki <> jest węzeł nadrzędny:

Przykłady

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);

Spróbuj »

Przykłady wyjaśnić:

  1. Użyj loadXMLDoc () do " Books.xml " pod xmldoc
  2. Uzyskanie pierwszego elementu <book>
  3. Nazwa węzła wyjściowego "x" węzeł nadrzędny

Unikaj pustych węzłów tekstowych

Firefox i inne przeglądarki, puste, puste lub nowego wiersza jako węzły tekstowe, podczas gdy Internet Explorer nie zrobi.

Wykorzysta on następujące atrybuty: firstChild, lastChild, nextSibling, previousSibling kiedy pojawia się problem.

Aby uniknąć przechodząc do pustej węzłów tekstowych (węzły elementów między spacjami i znakami końca wiersza), możemy użyć funkcji, która sprawdza typ węzła:

function get_nextSibling(n)
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}

Powyższa funkcja pozwala na użycieget_nextSibling(węzła) zamiast własnościwęzła .nextSibling.

Kod wyjaśnienie:

Typ 1 jest węzłem elementem. Jeśli węzeł rodzeństwo nie jest wierzchołkiem elementu, to przechodzi do następnego węzła, aż znajdziesz węzły elementów do tej pory. W ten sposób, w programie Internet Explorer i Firefox, można uzyskać takie same wyniki.


Jako pierwsze dziecko

Poniższy kod przedstawia pierwszą książkę <> jest pierwszym elementem:

Przykłady

<html>
<head>
<script src="loadxmldoc.js">
</script>
<script>
//check if the first node is an element node
function get_firstChild(n)
{
y=n.firstChild;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
</script>
</head>

<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
document.write(x.nodeName);
</script>
</body>
</html>

wyjście:

title

Spróbuj »

Przykłady wyjaśnić:

  1. Użyj loadXMLDoc () do " Books.xml " pod xmldoc
  2. Użyj funkcji get_firstChild na elementach w pierwszej książce <>, aby uzyskać pierwszego węzła potomnego (pierwiastek należący do węzła)
  3. Wyjście pierwszego węzła potomnego (pierwiastek należący do węzła) węzła

Przykłady s

Więcej przykładów

lastChild ()
W tym przykładzie wykorzystano metodę lastChild () oraz funkcję niestandardową, aby uzyskać ostatni węzeł podrzędny

nextSibling ()
W tym przykładzie wykorzystano metodę nextSibling () i następnego węzła rodzeństwa funkcji niestandardowej, aby uzyskać węzeł

previousSibling ()
W tym przykładzie użyto previousSibling () metoda i funkcji niestandardowej, aby uzyskać węzeł węzeł równorzędny