الوحدة 8: الـ DOM (Document Object Model) في JavaScript
إليك كورس كامل عن الوحدة 8: الـ DOM (Document Object Model) في JavaScript، والتي تشرح كيفية التعامل مع مستندات HTML وXML باستخدام JavaScript عبر الـ DOM، مما يسمح لك بالتفاعل مع عناصر الصفحة وتعديلها برمجياً.
الوحدة 8: الـ DOM (Document Object Model) في JavaScript
الدرس 1: مقدمة في الـ DOM
- المفهوم الأساسي: الـ DOM هو واجهة برمجة تطبيقات (API) تمثل صفحة الويب كمجموعة من العناصر المتداخلة التي يمكن التفاعل معها باستخدام JavaScript. في الواقع، يعتبر الـ DOM بمثابة هيكل شجري يعكس هيكل المستند.
1. ما هو الـ DOM؟
- الـ DOM هو تمثيل شجري للمحتوى في صفحة HTML أو XML، حيث يتم تحويل كل عنصر في الصفحة إلى عقدة (Node) في هذا الشجر.
- أنواع العقد في الـ DOM:
- Element Node: يمثل عنصر HTML.
- Text Node: يمثل النص داخل عنصر HTML.
- Attribute Node: يمثل سمة (attribute) لعنصر HTML.
الدرس 2: كيفية الوصول إلى عناصر الـ DOM
- المفهوم: للوصول إلى عناصر الـ DOM، يمكنك استخدام عدة طرق توفرها JavaScript مثل
getElementById()
وgetElementsByClassName()
.
1. الوصول إلى عنصر باستخدام getElementById()
- تستخدم هذه الطريقة للوصول إلى عنصر بناءً على معرّفه الفريد (
id
).
2. الوصول إلى عناصر باستخدام getElementsByClassName()
- تستخدم هذه الطريقة للوصول إلى جميع العناصر التي تحتوي على سمة
class
معينة.
3. الوصول إلى عناصر باستخدام querySelector()
و querySelectorAll()
querySelector()
: يتيح لك الوصول إلى العنصر الأول الذي يطابق المحدد.querySelectorAll()
: يتيح لك الوصول إلى جميع العناصر التي تطابق المحدد.
الدرس 3: التفاعل مع محتوى العناصر
- المفهوم: يمكنك التفاعل مع محتوى العناصر (مثل النص أو الخصائص) باستخدام JavaScript.
1. تعديل النص داخل عنصر
- يمكنك تغيير النص داخل عنصر باستخدام
innerText
أوtextContent
.
2. تعديل HTML داخل عنصر
- يمكنك تغيير محتوى HTML داخل عنصر باستخدام
innerHTML
.
الدرس 4: تعديل خصائص العناصر
- المفهوم: يمكن تعديل خصائص عناصر الـ DOM باستخدام JavaScript.
1. تعديل السمات (Attributes)
- يمكنك تغيير السمة (attribute) لأي عنصر باستخدام
setAttribute()
أو الوصول إليها باستخدامgetAttribute()
.
2. إضافة وإزالة السمات
- يمكن إضافة أو إزالة السمات باستخدام
setAttribute()
وremoveAttribute()
.
الدرس 5: إضافة وحذف عناصر الـ DOM
- المفهوم: يمكنك إضافة أو حذف عناصر من الصفحة باستخدام JavaScript.
1. إنشاء عنصر جديد
- يمكنك إنشاء عنصر جديد باستخدام
createElement()
وإضافته إلى الصفحة باستخدامappendChild()
أوinsertBefore()
.
2. حذف عنصر
- يمكنك حذف عنصر باستخدام
removeChild()
.
الدرس 6: التعامل مع الأحداث في الـ DOM
- المفهوم: يمكنك التعامل مع الأحداث في الـ DOM باستخدام JavaScript لربط الأحداث مثل النقر أو الكتابة في الحقول.
1. ربط حدث مع عنصر
- يمكنك ربط حدث مع عنصر باستخدام
addEventListener()
.
الدرس 7: التنقل عبر الـ DOM
- المفهوم: يمكنك التنقل عبر عناصر الـ DOM باستخدام بعض الخصائص مثل
parentNode
,childNodes
,nextSibling
, وpreviousSibling
.
1. التنقل إلى العنصر الأب
- للوصول إلى العنصر الأب باستخدام
parentNode
.
2. التنقل إلى العناصر الشقيقة
- للوصول إلى العناصر الشقيقة باستخدام
nextSibling
وpreviousSibling
.
الدرس 8: تلخيص الوحدة
- الـ DOM: هو تمثيل شجري للمحتوى في صفحة HTML أو XML يمكن التفاعل معه باستخدام JavaScript.
- الوصول إلى العناصر: يمكن الوصول إلى العناصر باستخدام
getElementById()
,getElementsByClassName()
, وquerySelector()
. - التفاعل مع المحتوى والخصائص: يمكن تعديل النصوص والـ HTML والسمات باستخدام
innerText
,innerHTML
,setAttribute()
, وgetAttribute()
. - إضافة وحذف العناصر: يمكن إضافة وحذف العناصر باستخدام
createElement()
,appendChild()
, وremoveChild()
. - التعامل مع الأحداث: يمكن ربط الأحداث مع العناصر باستخدام
addEventListener()
. - التنقل عبر الـ DOM: يمكن التنقل عبر العناصر باستخدام
parentNode
,nextSibling
, وpreviousSibling
.
المشاريع العملية للوحدة 8:
- مشروع 1: بناء صفحة تحتوي على نموذج بسيط يتفاعل مع المستخدم عبر الـ DOM لتغيير النصوص بناءً على المدخلات.
- مشروع 2: تصميم صفحة تحتوي على قائمة من العناصر، وعند النقر على كل عنصر، يتم تعديل محتواه أو حذفه.
- مشروع 3: إنشاء تطبيق بسيط يتفاعل مع أحداث الماوس باستخدام
mouseover
,mouseout
, وclick
لتغيير أنماط الصفحة.