جافاسكربتإضافة / حذف عناصر
- إدارة عناصر الصفحة
- إنشاء عنصر و إضافته في الصفحة
- إضافة كود HTML جاهز في العنصر
- حذف عنصر من الصفحة
- تبديل العنصر الإبن بعنصر آخر
إدارة عناصر الصفحة
الكائن document يوفر دوال جاهزة يمكن من خلالها إنشاء عناصر جديدة و تحديد أين سيتم إضافتها، إستبدال العناصر بعناصر أخرى، بالإضافة إلى حذف العناصر من الصفحة.
في هذا الدرس ستتعلم كيف تنشئ عناصر جديدة، كيف تضيفها في الصفحة و في النهاية ستتعلم كيف تحذف عناصر منها.
إنشاء عنصر و إضافته في الصفحة
لإنشاء عنصر جديد في الصفحة يمكنك استخدام إحدى الدوال التالية:
- الدالة createElement() تستخدم لإنشاء وسم HTML مثل <p> و <div>.
- الدالة createTextNode() تستخدم لإنشاء نص عادي يمكن عرضه بداخل وسم.
الوسم الذي تنشئه بواسطة جافاسكربت، لا يظهر في الصفحة إلا بعد أن تقوم بإضافته فيها.
سنتعرف تباعاً على جميع الدوال التي يمكن من خلالها إضافة العناصر التي يتم إنشاءها في الصفحة.
إضافة العنصر الجديد في آخر العنصر
يمكنك استخدام الدالة appendChild() لإضافة العنصر الذي تم إنشاؤه بداخل عنصر آخر.
هذه الدالة تقوم بإضافة العنصر الذي تم تمريره لها في آخر العنصر الذي قام باستدعائها.
في المثال التالي قمنا بإنشاء وسم <p> و بداخله وضعنا نص عادي.
بعدها قمنا بإضافة الوسم <p> في الوسم <main> الموجود أساساً في الصفحة.
مثال
إضافة العنصر الجديد قبل عنصر محدد
يمكنك استخدام الدالة document.body.insertBefore() لإضافة العنصر الذي تم إنشاؤه قبل عنصر محدد في الصفحة.
عند استدعائها يجب أن تمرر لها كائنين، الأول يمثل العنصر الجديد و الثاني يمثل العنصر الذي تريد إضافته قبله.
في المثال التالي قمنا بإنشاء وسم <div> و بداخله وضعنا نص عادي.
بعدها قمنا بإضافة الوسم <div> قبل الوسم <main> الموجود أساساً في الصفحة.
مثال
إضافة كود HTML جاهز في العنصر
في حال أردت تمرير كود HTML بشكل مباشر في العنصر فيمكنك إسناده له كنص عن طريق الخاصية innerHTML.
هذه الخاصية تقوم بتديل كل محتوى العنصر بالمحتوى الذي نمرره لها.
في المثال التالي قمنا بتبديل كل المحتوى الموجود في الوسم <main> بكود HTML جديد.
مثال
تمرير كود HTML بجانب المحتوى
يمكنك استخدام الدالة insertAdjacentHTML() في حال أردت إضافة كود HTML جاهز بدون حذف المحتوى الحالي في العنصر.
عندها استدعائها يجب أن تمرر لها قيمتين، الأولى تمثل الموقع الذي سيتم إضافة الكود فيه و الثانية تمثل الكود الذي سيتم إضافته.
فيما يلي القيم النصية التي يمكنك استخدامها مع الدالة insertAdjacentHTML() لتحديد المكان الذي سيتم إضافة الكود به.
القيمة | معناها |
---|---|
'beforebegin' | لإضافة الكود قبل العنصر مباشرةً. |
'afterend' | لإضافة الكود بعد العنصر مباشرةً. |
'afterbegin' | لإضافة الكود في أول العنصر، أي قبل المحتوى الحالي الموجود فيه. |
'beforeend' | لإضافة الكود في آخر العنصر، أي بعد المحتوى الحالي الموجود فيه. |
في المثال التالي قمنا بإضافة كود HTML قبل و بعد الوسم الذي يملك id
يساوي demo
.
المثال الأول
في المثال التالي قمنا بإضافة كود HTML في بداية و النهاية الوسم الذي يملك id
يساوي demo
.
المثال الثاني
حذف عنصر من الصفحة
يمكنك استخدام الدالة remove() لحذف أي عنصر موجود في الصفحة.
إذاً يمكنك استدعائها من أي عنصر حتى تقوم بحذفه من الصفحة.
في المثال التالي قمنا بحذف الوسم الذي يملك id
يساوي demo
.
مثال
حذف العنصر الإبن
يمكنك استخدام الدالة removeChild() لحذف عنصر موجود كإبن لعنصر آخر في الصفحة.
إذاً يجب استدعائها من العنصر الأب، و تمرير العنصر الإبن الذي تريد حذفه منه لها.
في المثال التالي قمنا بحذف الوسم الذي يملك id="child" و الموجود بداخل وسم يملك id="parent".
مثال
الدالة removeChild() ترجع الكائن الذي تم حذف و هذا الأمر يمكنك الإستفادة منه في حال أردت إعلام المستخدم بذلك.
هنا قمنا بإعادة المثال السابق و لكننا هذه المرة قمنا بتخزين العنصر الذي تم حذفه في متغير و من بعدها قمنا بإعلام المستخدم بأنه تم حذفه.
مثال
تبديل العنصر الإبن بعنصر آخر
يمكنك استخدام الدالة replacechild() لتبديل العنصر الإبن بعنصر آخر.
إذاً يجب استدعائها من العنصر الأب و تمرير كائنين لها، الأول يمثل العنصر الجديد الذي سيتم وضعه و الثاني يمثل العنصر القديم الذي سيتم استبداله.
في المثال التالي قمنا بتبديل الوسم الذي يملك id="child" و الموجود بداخل وسم يملك id="parent" بوسم جديد.