วิธี XML DOM cloneNode()
การระบุและการใช้งาน
วิธี cloneNode() สามารถสร้างสำเนาที่แท้จริงของโนด์ที่กำหนด
วิธีนี้สามารถกลับมาด้วยโนด์ที่คัดลอกได้
คำสั่ง
nodeObject.cloneNode(include_all)
ตัวแปร | คำอธิบาย |
---|---|
include_all | สำคัญ หากตั้งค่าตัวแปรทางวิชาการเป็น true โนด์ที่คลอนจะคลอนทุกโนด์ทางลูกของโนด์ต้น |
ค่าที่กลับมา
สำเนาของโนด์ปัจจุบัน
ชี้แจง
วิธีนี้จะคัดลอกและกลับมาด้วยสำเนาของโนด์ที่เรียกใช้ ถ้าค่าที่ส่งให้กับมันเป็น true มันยังจะคัดลอกโนด์ทั้งหมดที่เป็นหลานของโนด์ปัจจุบันโดยระดับต่ำ ไม่ฉะนั้นมันจะคัดลอกโนด์ปัจจุบันเท่านั้น
โนด์ที่กลับมาไม่เป็นส่วนของต้นไม้เอกสาร มีค่า parentNode ในแง่ว่า null
เมื่อคัดลอกเป็น Element โนด์ ทุกคุณสมบัติของมันจะถูกคัดลอก แต่ต้องระวังว่าฟังก์ชันหลักฐานเหตุการณ์ที่ลงทะเบียนบนโนด์ปัจจุบันจะไม่ถูกคัดลอก
ตัวอย่าง
ในทุกตัวอย่าง พวกเราจะใช้แบบแบบ XML books.xmlและฟังก์ชัน JavaScript loadXMLDoc()。
บทความรหัสที่มีอยู่นี้สามารถคลอนโนด์ <book> แรก และเพิ่มมันเข้าไปในลิสต์ของโนด์ตัวอย่างได้:
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName('book')[0];
var cloneNode=x.cloneNode(true)
;
xmlDoc.documentElement.appendChild(cloneNode);
//ออกมาทุกชื่อเรื่อง
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}
ออกมา:
Everyday Italian Harry Potter XQuery Kick Start Learning XML Everyday Italian