روش cloneNode() XML DOM

دستورالعمل مرجع Object Node

تعریف و استفاده

روش cloneNode() می‌تواند یک کپی دقیق از نود مشخص شده ایجاد کند.

این روش می‌تواند نود کپی شده را بازگرداند.

شرح نحوی:

nodeObject.cloneNode(include_all)
پارامتر توضیح
include_all ضروری. اگر پارامتر منطقی تنظیم به true شود، نودهای کپی شده تمامی فرزندان نود اصلی را نیز کپی می‌کنند.

مقدار بازگشتی

کپی node فعلی

توضیح

این روش یک کپی از node فراخوانی شده خود را بازمی‌گرداند. اگر پارامتر ارسالی به آن true باشد، همچنین تمامی فرزندان node فعلی را به صورت خوشه‌ای کپی می‌کند. در غیر این صورت، تنها node فعلی را کپی می‌کند.

نود بازگشتی به درخت مستند متعلق نیست، ویژگی parentNode آن null است.

وقتی که Element node کپی می‌شود، تمامی ویژگی‌های آن نیز کپی می‌شوند. اما توجه داشته باشید که فراخوانی‌های شنونده‌ای که در این node ثبت شده‌اند، کپی نمی‌شوند.

مثال

در همه مثال‌ها، از فایل 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");
برای (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

دستورالعمل مرجع Object Node