วิธี XML DOM replaceChild()

การประกาศและวิธีใช้

replaceChild() วิธีใช้ข้อความใหม่แทนข้อความลูก

ข้อความใหม่สามารถเป็นข้อความที่มีอยู่ในเอกสาร หรือสามารถสร้างข้อความใหม่

คำแนะนำ:ข้อความที่ถูกแทนที่นั้นสามารถถูกใส่เข้าไปในอนุภาคใด ๆ ของเอกสารเดียวกันในภายหลัง โปรดใช้วิธี insertBefore() หรือ appendChild() ที่ภายหลังเพื่อใส่เข้าไปในเอกสารเดียวกัน หรือใช้วิธี adoptNode() หรือ importNode() ที่ภายหลังเพื่อใส่เข้าไปในเอกสารอื่น

ภาษา

nodeObject.replaceChild(newchild,oldchild)

ตัวแปร

ตัวแปร รายละเอียด
newchild จำเป็น。Node Object ที่จะใส่ลงในรายการลูกของเมนู
oldchild จำเป็น。Node Object นี้จะถูกแทนที่ในรายการลูกของเมนู

รายละเอียดเทคโนโลยี

DOM รุ่น: Core Level 1 Node Object ใน DOM Level 3 แก้ไข
ค่าที่กลับมา: จุดข้อมูล Node ที่ถูกแทนที่ (oldchild)

ตัวอย่าง

รหัสใต้นี้จะนำ "books.xml" ใส่ xmlDoc และแทนที่ element <book> แรก

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;
    // สร้างจุดข้อมูล element book จุดข้อมูล element title และจุดข้อมูล text
    newNode = xmlDoc.createElement("book");
    newTitle = xmlDoc.createElement("title");
    newText = xmlDoc.createTextNode("Hello World");
    // ใส่ข้อความไปยังจุดข้อมูล title
    newTitle.appendChild(newText);
    // ใส่จุดข้อมูล title ใส่จุดข้อมูล book
    newNode.appendChild(newTitle);
    y = xmlDoc.getElementsByTagName("book")[0];
    // ใช้จุดข้อมูล book ใหม่แทนจุดข้อมูล book แรก
    x.replaceChild(newNode, y);
    z = xmlDoc.getElementsByTagName("title");
    // ออกสัญญาณทั้งหมด 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() 方法。