Latest web development tutorials

XML DOM - simpul navigasi

Node dapat menavigasi dengan menggunakan hubungan antara node.


Navigasi DOM simpul

Hubungan antara node akses oleh simpul simpul di pohon, yang biasa disebut sebagai navigasi simpul ( "navigasi node").

Dalam DOM XML, hubungan antara node didefinisikan sebagai milik node:

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

Gambar berikut menunjukkan books.xml bagian dari node dari pohon, dan menggambarkan hubungan antara node:

pohon Node


DOM - orang tua

Semua node hanya memiliki satu orangtua. Kode berikut untuk menavigasi ke <buku> adalah node induk:

contoh

xmlDoc=loadXMLDoc("books.xml");

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

Coba »

Contoh menjelaskan:

  1. Gunakan loadXMLDoc () untuk " yang Books.xml " ke xmlDoc
  2. Dapatkan pertama <buku> elemen
  3. Nama node output "x" simpul orangtua

Hindari node teks kosong

Firefox dan lainnya browser, kosong, kosong atau baris sebagai node teks, sementara Internet Explorer tidak akan melakukannya.

Ini akan menggunakan atribut berikut: firstChild, lastChild, nextSibling, previousSibling ketika masalah timbul.

Untuk menghindari navigasi ke node teks kosong (node ​​elemen antara ruang dan jeda baris), kita menggunakan fungsi yang memeriksa jenis node:

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

Fungsi di atas memungkinkan Anda untuk menggunakanget_nextSibling(node) bukan propertinode .nextSibling.

Kode penjelasan:

Tipe 1 adalah elemen node. Jika node saudara bukan merupakan simpul elemen, bergerak ke node berikutnya, sampai Anda menemukan node elemen sejauh ini. Dengan cara ini, di Internet Explorer dan Firefox, Anda bisa mendapatkan hasil yang sama.


Menjadi anak pertama

Kode berikut menunjukkan pertama <buku> adalah elemen pertama:

contoh

<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>

Output:

title

Coba »

Contoh menjelaskan:

  1. Gunakan loadXMLDoc () untuk " yang Books.xml " ke xmlDoc
  2. Gunakan fungsi get_firstChild pada unsur-unsur dalam pertama <buku>, untuk mendapatkan node anak pertama (elemen milik node)
  3. Output dari node anak pertama (elemen milik node) nama node

contoh s

contoh yang lebih

lastChild ()
Contoh ini menggunakan metode lastChild () dan fungsi kustom untuk mendapatkan node anak terakhir

nextSibling ()
Contoh ini menggunakan metode nextSibling () dan simpul saudara berikutnya fungsi kustom untuk mendapatkan node

previousSibling ()
Contoh ini menggunakan previousSibling () metode dan fungsi kustom untuk mendapatkan simpul saudara simpul