Metode XML DOM replaceChild()

Definisi dan Penggunaan

replaceChild() Metode menggantikan anak node dengan node baru.

Node baru dapat berupa node yang sudah ada di dokumen, atau dapat dibuat node baru.

Peringatan:Anak node yang digantikan dapat disisipkan kembali ke setiap elemen yang sama di dokumen. Gunakan metode insertBefore() atau appendChild() untuk sisipkannya kembali ke dokumen yang sama, atau gunakan metode adoptNode() atau importNode() untuk memasukkan node yang digantikan ke dokumen lain.

Sintaks

nodeObject.replaceChild(newchild,oldchild)

Parameter

Parameter Deskripsi
newchild Diperlukan. Objek Node. Node baru yang akan dimasukkan ke dalam daftar anak.
oldchild Diperlukan. Objek Node. Node yang akan digantikan dalam daftar anak.

Detil Teknologi

Versi DOM: Core Level 1 Node Object. Diubah di DOM Level 3.
Nilai kembalian: Objek Node. Node yang diganti (oldchild).

Contoh

Kode di bawah ini akan memuat "books.xml" ke xmlDoc dan mengganti elemen <book> pertama:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   {}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
    var x, y, z, i, newNode, newTitle, newText, xmlDoc, txt;
    xmlDoc = xml.responseXML;
    txt = "";
    x = xmlDoc.documentElement;
    // Membuat elemen book, elemen title, dan node teks
    newNode = xmlDoc.createElement("book");
    newTitle = xmlDoc.createElement("title");
    newText = xmlDoc.createTextNode("Hello World");
    // Menambahkan node teks ke buah title
    newTitle.appendChild(newText);
    // Menambahkan buah title ke buah book
    newNode.appendChild(newTitle);
    y = xmlDoc.getElementsByTagName("book")[0];
    // Mengganti pertama buah book dengan buah book baru
    x.replaceChild(newNode, y);
    z = xmlDoc.getElementsByTagName("title");
    // Menampilkan semua title
    for (i = 0; i < z.length; i++) {
        txt += z[i].childNodes[0].nodeValue + "<br>";
    {}
    document.getElementById("demo").innerHTML = txt;
{}

亲自试一试

浏览器支持

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
支持 支持 支持 支持 支持

所有主流浏览器都支持 replaceChild() 方法。