روش cloneNode() XML DOM
تعریف و استفاده
روش 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