Metode replaceChild() DOM XML

Panduan Referensi Objek Node

Definisi dan Penggunaan

Metode replaceChild() dapat menggantikan satu node anak dengan yang lain.

Jika penggantian berhasil, metode ini dapat mengembalikan node yang digantikan, jika penggantian gagal, maka mengembalikan NULL.

Syarat:

nodeObject.replaceChild(new_node,old_node)
Parameter Deskripsi
new_node Diperlukan. Tentukan node yang akan digunakan untuk menggantikan.
old_node Diperlukan. Tentukan node yang akan digantikan.

Petunjuk dan Keterangan

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

Jenis node elemen adalah 1, jadi jika node anak pertama bukan node elemen, dia akan berpindah ke node berikutnya dan melanjutkan mengecek 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, kunjungi Browser DOM bab.

contoh

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

Kode potongan di bawah ini dapat digantikan elemen <title> pertama dalam elemen <book<:

//cek jika node anak pertama adalah node elemen
function get_firstchild(n)
{
var x=n.firstChild;
saat (x.nodeType!=1)
  {
  x=x.nextSibling;
  }
kembalikan x;
}
xmlDoc=loadXMLDoc("books.xml");
//buat elemen judul dan node teks
var newNode=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("Makan Malam Keluarga Giada");
//add the text node to the title node,
newNode.appendChild(newText);
//replace the first child node with the new node
var x=xmlDoc.getElementsByTagName("book")[0];
x.replaceChild(newNode,get_firstchild(x));
//output all titles
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
  {
  document.write(y[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

Output:

Makan Malam Keluarga Giada
Harry Potter
XQuery Kick Start
Belajar XML

Panduan Referensi Objek Node