Metode insertBefore() DOM XML

Definisi dan Penggunaan

Metode insertBefore() digunakan untuk menambahkan node anak baru sebelum node anak yang sudah ada.

Metode ini mengembalikan node anak baru.

Syarat:

elementNode.insertBefore(new_node,existing_node)
Parameter Deskripsi
new_node Diperlukan. Node yang akan dimasukkan.
existing_node Diperlukan. Node yang sudah ada. Masukkan node baru sebelum node ini.

Petunjuk dan Keterangan:

Keterangan:Internet Explorer akan mengabaikan node teks putih yang dihasilkan antara node (seperti karakter enter), sementara Mozilla tidak melakukan hal seperti itu. Oleh karena itu, di contoh di bawah ini, kita menggunakan fungsi untuk memeriksa tipe node node anak terakhir.

Tipe node untuk node elemen adalah 1, jadi jika node anak terakhir bukan node elemen, pindahkan ke node sebelumnya dan periksa apakah node ini adalah node elemen. Proses ini akan terus berlanjut sampai menemukan node anak terakhir yang termasuk node elemen. Dengan metode ini, hasil yang benar akan didapatkan di Internet Explorer dan Mozilla.

Untuk informasi lebih lanjut tentang perbedaan antara Internet Explorer dan Mozilla browser, kunjungi tutorial XML DOM di CodeW3C.com Browser DOM pada bagian ini.

contoh

Dalam semua contoh, kita akan menggunakan berkas XML books.xmldan fungsi JavaScript loadXMLDoc()

Fragment kode di bawah ini membuat sebuah node <book> baru dan menyalinnya ke sebelum elemen terakhir <book> di dalam dokumen:

//cek jika childnode terakhir adalah node elemen
function get_lastchild(n)
{
x=n.lastChild;
while (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));