Avatar ·

كيفية نقل عنصر 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` فيتيح لك التحكم في الموضع (قبل، بعد، بداية، نهاية).