كيفية نقل عنصر HTML داخل آخر باستخدام JavaScript؟
مرحباً بالجميع! لقد بدأت للتو في تعلم JavaScript وواجهت مهمة: أحتاج إلى نقل الكتلة `
` ديناميكياً داخل حاوية أخرى `
`. المشكلة هي أنه بعد النقل، يجب أن يتم نقل العنصر وليس نسخه — أي يختفي من المكان القديم ويظهر في الجديد.
إليك ترميزي:
```html
```
حاولت استخدام `appendChild`، لكنه يبدو أنه يعمل فقط عند إنشاء عناصر جديدة. وإذا كان العنصر موجوداً بالفعل في DOM — هل يتم نسخه أم نقله؟ وأيضاً: ماذا عن jQuery؟ الكثيرون ينصحون باستخدام `.appendTo()`، لكني أريد فهم JavaScript الخالص. أرجو إرشادي إلى الطريقة الصحيحة. شكراً مسبقاً!
<<>>
استخدام الطريقة
أنا العنصر الذي يجب نقله
هنا يجب الإدراج
استخدام الطريقة appendChild و insertAdjacentElement
أنت محق: appendChild ينقل العنصر بالفعل إذا كان موجوداً في DOM — لا ينسخه، بل ينقله من مكانه القديم إلى الجديد. لذا يمكنك استخدامه مباشرة:
const item = document.getElementById('item');
const container = document.getElementById('container');
container.appendChild(item);
بعد هذا الكود، سيختفي العنصر من `parent1` ويظهر داخل `container`. أما `insertAdjacentElement` فيتيح لك التحكم في الموضع (قبل، بعد، بداية، نهاية).