Metode insertBefore() DOM XML

Referensi Buku Objek Node

Definisi dan penggunaan

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

Metode ini dapat mengembalikan node anak baru.

Syarat:

insertBefore(newchild, refchild)
Parameter Deskripsi
newchild Masukkan node baru
refchild Masukkan node baru sebelum node ini

Petunjuk dan keterangan

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

Tipe node dari node elemen adalah 1, jadi jika node anak pertama bukan node elemen, dia akan berpindah ke node berikutnya dan melanjutkan memeriksa apakah node ini adalah node elemen. Proses ini akan terus berlanjut sampai node anak elemen pertama ditemukan. Dengan cara ini, kita dapat mendapatkan metode yang benar di Internet Explorer dan Mozilla.

Petunjuk:Untuk informasi lebih lanjut tentang perbedaan XML DOM antara Internet Explorer dan Mozilla peramban, silakan kunjungi DOM peramban bab.

contoh

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

Bagian di bawah ini dapat membuat node <book> baru dan memasang node ini di depan elemen <book> terakhir dalam dokumen:

//cek jika child node terakhir adalah node elemen
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;

return x;

xmlDoc=loadXMLDoc("books.xml");
var newNode=xmlDoc.createElement("book");
var newTitle=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));

Referensi Buku Objek Node