appendChild في IE6/IE7 لا يعمل مع العناصر الموجودة
-
22-07-2019 - |
سؤال
لدي div التي تحتاج إلى نقلها من مكان إلى آخر في DOM.حتى في هذه اللحظة أنا أفعل ذلك مثل ذلك:
flex.utils.get('oPopup_About').appendChild(flex.utils.get('oUpdater_About'));
ولكن ، أي كونه حسنا ، أي أنها لا تعمل.يعمل في جميع المتصفحات الأخرى ، ليس فقط في IE.
أنا بحاجة إلى أن تفعل ذلك بهذه الطريقة مثل عنصر (div) 'oUpdater_About' يحتاج إلى إعادة استخدامها كما يتم ملؤها مرارا وتكرارا.
لذلك أنا فقط بحاجة إلى أن تكون قادرة على التحرك div حول دوم appendChild سوف ندع هذا يحدث في جميع المتصفحات ، ولكن ، أي.
شكرا مقدما!
المحلول
يجب عليك إزالة العقدة الأولى, قبل أن تتمكن من إلحاق أي مكان آخر.عقدة واحدة لا يمكن أن يكون في مكانين في نفس الوقت.
var node = flex.utils.get('oUpdater_About')
node.parentNode.removeChild(node);
flex.utils.get('oPopup_About').appendChild(node);
نصائح أخرى
تأكد من استنساخ oUpdater_About (مع عقدة.cloneNode(صحيح)) بهذه الطريقة يمكنك الحصول على نسخة و يمكن إعادة استخدام دوم المتكررة في كثير من الأحيان كما تريد (في أي متصفح)
هذا المنصب يميل تشير إلى أن هناك في الواقع مشكلة مع appendChild فيما يتعلق بهذا:
http://metadeveloper.blogspot.com/2007/01/ie-7-appendchild-bug.html
هل حاولت استنساخ ذلك إزالة ذلك ، ثم إدخال استنساخ بدلا من ذلك ؟
جيمس