วิธี 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()
方法。