کلون کردن گره ها (DOM Clone Nodes)
در این بخش با «کلون کردن گره ها» آشنا می شوی. «گره (Node)» هر جزء XML است. «DOM (Document Object Model)» مدل شیءگرای سند است. کلون یعنی کپی دقیق. مثل تکثیر برگه دفتر برای همکلاسی.
کلون کردن گره با cloneNode()
متد cloneNode() از یک گره، کپی می سازد. پارامتر بولی دارد. اگر true بدهی، «عمیق (Deep)» است و فرزندان و ویژگی ها هم کپی می شوند. اگر false بدهی، «سطحی (Shallow)» است و فقط خود گره می آید.
oldNode = xmlDoc.getElementsByTagName('book')[0];
newNode = oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
- فایل books.xml در
xmlDocبار است. - گره منبع را بگیر و در
oldNodeبگذار. - با
cloneNode(true)یک کپی کامل بساز. - کپی را به ریشه سند اضافه کن.
نکته: خروجی می تواند دوباره همان کتاب را در لیست نشان دهد. چون یک نسخه کامل افزوده ای.
مقایسه عمیق و سطحی
- عمیق: ساختار کامل کپی می شود.
- سطحی: فقط خود گره می آید.
- برای انتساب سریع، سطحی کفایت می کند.
- برای تکثیر داده، عمیق بهتر است.
ادامه مسیر یادگیری
قبل از کلون، با افزودن گره ها تمرین کن. سپس نمونه ها را در مثال های DOM ببین. همچنین لینک مستقیم به کلون کردن گره های DOM را نگه دار.
جمع بندی سریع
- cloneNode کپی گره می سازد.
- true یعنی کلون عمیق.
- false یعنی کلون سطحی.
- کپی را با appendChild وصل کن.