DOM
نموذج كائن المستند (DOM)
نموذج كائن المستند (DOM) هو واجهة برمجة تطبيقات (API) للوثائق HTML وXML. إنه يمثل بنية المستند على شكل شجرة، حيث يمثل كل عنصر في المستند عقدة في الشجرة. يوفر DOM طريقة للوصول إلى عناصر المستند ومعالجتها وتعديلها من خلال لغات البرمجة مثل JavaScript.
ما هو DOM ولماذا هو مهم؟
تخيل أن لديك صفحة ويب. هذه الصفحة ليست مجرد نص و صور؛ إنها هيكل معقد من العناصر المتداخلة. الـ DOM يسمح للبرامج بالوصول إلى هذا الهيكل والتفاعل معه. بدون الـ DOM، سيكون من المستحيل تقريبًا جعل صفحات الويب تفاعلية أو ديناميكية.
- الوصول إلى العناصر: يسمح الـ DOM بـ الوصول إلى العناصر بناءً على مجموعة متنوعة من المعايير، مثل المعرف (ID)، اسم الفئة (class name)، أو اسم الوسم (tag name).
- تعديل المحتوى: يمكن للبرامج تعديل محتوى العناصر، مثل تغيير النص، إضافة عناصر جديدة، أو حذف العناصر الموجودة.
- تغيير الأنماط: يمكن للبرامج تغيير أنماط العناصر، مثل لون الخلفية، حجم الخط، أو الموضع.
- الاستجابة للأحداث: يمكن للبرامج الاستجابة لأحداث المستخدم، مثل النقر بالماوس أو الضغط على مفتاح، وتنفيذ إجراءات بناءً على هذه الأحداث. هذا هو أساس تفاعلية الويب.
هيكل DOM
الـ DOM هو شجرة. في أعلى الشجرة توجد العقدة الجذرية، والتي تمثل المستند بأكمله. تحت العقدة الجذرية توجد عقد أخرى تمثل عناصر HTML المختلفة، مثل العناوين والفقرات والصور والجداول. كل عقدة يمكن أن يكون لها عقد فرعية، والتي تمثل عناصر HTML متداخلة.
العنصر HTML | العقدة المقابلة في DOM |
---|---|
المستند | |
رأس المستند | |
جسم المستند | |
عنوان المستوى الأول | |
فقرة |
أنواع عقد DOM
هناك أنواع مختلفة من العقد في الـ DOM:
- عقدة المستند (Document Node): تمثل المستند بأكمله.
- عقدة العنصر (Element Node): تمثل عنصر HTML.
- عقدة النص (Text Node): تمثل نصًا داخل عنصر HTML.
- عقدة السمة (Attribute Node): تمثل سمة لعنصر HTML.
- عقدة التعليق (Comment Node): تمثل تعليقًا داخل المستند.
الوصول إلى عناصر DOM باستخدام JavaScript
تعد JavaScript اللغة الأكثر شيوعًا للتفاعل مع الـ DOM. توفر JavaScript مجموعة متنوعة من الطرق للوصول إلى عناصر DOM:
- getElementById(): للوصول إلى عنصر بناءً على معرفه.
- getElementsByClassName(): للوصول إلى مجموعة من العناصر بناءً على اسم الفئة الخاصة بهم.
- getElementsByTagName(): للوصول إلى مجموعة من العناصر بناءً على اسم الوسم الخاص بهم.
- querySelector(): للوصول إلى أول عنصر يطابق محدد CSS معين.
- querySelectorAll(): للوصول إلى جميع العناصر التي تطابق محدد CSS معين.
تعديل عناصر DOM باستخدام JavaScript
بمجرد الوصول إلى عنصر DOM، يمكنك تعديله باستخدام JavaScript:
- innerHTML: لتغيير محتوى HTML للعنصر.
- textContent: لتغيير نص العنصر.
- setAttribute(): لتعيين قيمة سمة لعنصر.
- style: لتغيير أنماط العنصر.
- appendChild(): لإضافة عنصر جديد كعنصر فرعي.
- removeChild(): لحذف عنصر فرعي.
أهمية DOM في تطوير الويب الحديث
الـ DOM هو أساس العديد من التقنيات وال frameworks الحديثة لتطوير الويب، مثل:
- React: مكتبة JavaScript لبناء واجهات المستخدم.
- Angular: framework JavaScript لبناء تطبيقات الويب المعقدة.
- Vue.js: framework JavaScript تدريجي لبناء واجهات المستخدم.
- jQuery: مكتبة JavaScript تسهل التفاعل مع الـ DOM.
- Ajax: تقنية تسمح بتحديث أجزاء من صفحة الويب دون إعادة تحميل الصفحة بأكملها.
استراتيجيات تداول ذات صلة (لإضافة سياق أوسع)
- تداول الاتجاه
- تداول الاختراق
- تداول النطاق
- تداول التصحيح
- تداول الأخبار
- تداول السكالبينج
- تداول الدقيقة
- تداول اليوم
- تداول الموقف
- تداول الخيارات الثنائية
- المضاربة
- التحوط
- تداول الأنماط
- تداول المومنتوم
- تداول المتوسطات المتحركة
التحليل الفني وحجم التداول (لإضافة سياق أوسع)
- الشموع اليابانية
- مؤشر القوة النسبية (RSI)
- مؤشر الماكد (MACD)
- خطوط فيبوناتشي
- مستويات الدعم والمقاومة
- التحليل الحجمي
- مؤشر حجم التداول في الحركة (OBV)
- مؤشر التراكم والتوزيع (A/D)
- التقارب والتباعد
- أنماط الرسوم البيانية
- تحليل الموجات
- تحليل الشموع
- تحليل الفجوات السعرية
- مؤشر ستوكاستيك
- مؤشر بولينجر باند
موارد إضافية
HTML CSS JavaScript API واجهة برمجة التطبيقات تفاعلية الويب تطوير الويب الأمامي محدد CSS React Angular Vue.js jQuery Ajax Web Development DOM Manipulation Node.js البرمجة الديناميكية التحقق من صحة النموذج الرسوم المتحركة على الويب
.
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين