วิธี insertBefore() ของ XML DOM
การเรียกใช้และการประกาศ
วิธี insertBefore() สามารถใส่ตัวเด็กลูกใหม่ก่อนตัวเด็กลูกที่มีอยู่
วิธีนี้สามารถกลับค่าตัวเด็กลูกใหม่
ศัพท์วิธี:
insertBefore(newchild,refchild)
ตัวแปร | คำอธิบาย |
---|---|
newchild | ใส่ตัวแยกใหม่ |
refchild | ใส่ตัวแยกใหม่ก่อนตัวแยกนี้ |
คำแนะนำและหมายเหตุ
หมายเหตุ:Internet Explorer จะละเลยตัวแยกขององค์ประกอบที่เกิดขึ้นระหว่างตัวแยก (เช่น สัญญาณช่องว่าง) และ Mozilla จะไม่ทำเช่นนั้น ดังนั้นในตัวอย่างด้านล่าง เราจะใช้ฟังก์ชันเพื่อตรวจสอบปริมาณของตัวแยกของเด็กหลัก
ปริมาณของตัวแทนของตัวแยกขององค์ประกอบเอลิเมนต์คือ 1 ดังนั้นถ้าตัวเด็กหลักไม่ใช่ตัวแยกขององค์ประกอบเอลิเมนต์ มันจะย้ายไปยังตัวเด็กต่อไป และต่อตรงไปตรงมาตรวจสอบว่าตัวเด็กนี้เป็นตัวแยกขององค์ประกอบเอลิเมนต์หรือไม่ กระบวนการนี้จะทำต่อไปจนกระทั่งหาพบตัวเด็กเอลิเมนต์หลักเป็นตัวแยกเอลิเมนต์ ด้วยวิธีนี้ เราสามารถได้รับวิธีที่ถูกต้องใน Internet Explorer และ Mozilla
คำแนะนำ:หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างของ XML DOM ระหว่าง Internet Explorer และ Mozilla นักเทคโนโลยีสาระทางอินเทอร์เน็ต โปรดเข้าชมเว็บไซต์ของเรา DOM นักเทคโนโลยีสาระทางอินเทอร์เน็ต บทบาท。
ตัวอย่าง
ในทุกตัวอย่างที่เราใช้ XML ไฟล์ books.xml,และฟังก์ชัน JavaScript loadXMLDoc()。
บรรทัดด้านล่างนี้สามารถสร้างองค์ประกอบ <book> ใหม่และใส่องค์ประกอบนี้ก่อนองค์ประกอบ <book> สุดท้ายในเอกสาร:
//ตรวจสอบว่าองค์ประกอบล่าสุดเป็นองค์ประกอบแนวทาง
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));