Metode insertBefore() DOM XML
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));