JavaScript DOM

From binaryoption
Jump to navigation Jump to search
Баннер1

JavaScript DOM

مقدمة

يعد نموذج كائن المستند (Document Object Model أو DOM) واجهة برمجية لتفاعل مع محتوى وهيكل مستندات الويب (عادةً HTML أو XML). إنه يمثل المستند كشجرة من الكائنات، حيث يمثل كل كائن جزءًا من المستند، مثل العناصر والسمات والنصوص. يسمح DOM لـ JavaScript بالوصول إلى هذه الكائنات والتلاعب بها، مما يتيح إنشاء صفحات ويب ديناميكية وتفاعلية. فهم DOM ضروري لأي مطور ويب يسعى إلى إنشاء تطبيقات ويب متقدمة. هذا المقال موجه للمبتدئين ويهدف إلى توفير فهم شامل لـ DOM وكيفية استخدامه في JavaScript.

ما هو DOM؟

كما ذكرنا سابقًا، يمثل DOM المستند كشجرة. تخيل مستند HTML كشجرة عائلة، حيث يكون العنصر `<html>` هو الجد، والعناصر `<head>` و `<body>` هما الأبناء، وهكذا. كل عنصر (مثل `

` أو `

` أو ``) هو عقدة (node) في هذه الشجرة.
  • المستند (Document): يمثل المستند بأكمله. هو الجذر الرئيسي لشجرة DOM.
  • العناصر (Elements): تمثل عناصر HTML، مثل `

    `، `

    `، `

    `.

  • السمات (Attributes): تمثل السمات الخاصة بالعناصر، مثل `id`، `class`، `src`.
  • النصوص (Text): تمثل النص الموجود داخل العناصر.
  • التعليقات (Comments): تمثل التعليقات في مستند HTML.

الوصول إلى عناصر DOM

هناك عدة طرق للوصول إلى عناصر DOM باستخدام JavaScript:

  • `document.getElementById(id)`: هذه الطريقة هي الأسرع والأكثر شيوعًا للوصول إلى عنصر بناءً على قيمة سمة `id` الخاصة به. تذكر أن قيم `id` يجب أن تكون فريدة في المستند.
  • `document.getElementsByClassName(className)`: تُرجع هذه الطريقة مجموعة من جميع العناصر التي لها الفئة (class) المحددة. ترجع HTMLCollection (تشبه المصفوفة ولكنها ديناميكية).
  • `document.getElementsByTagName(tagName)`: تُرجع هذه الطريقة مجموعة من جميع العناصر التي لها اسم العلامة (tag name) المحدد. ترجع HTMLCollection.
  • `document.querySelector(selector)`: تُرجع هذه الطريقة العنصر الأول الذي يطابق محدد CSS المحدد. تعتبر أكثر مرونة من الطرق السابقة.
  • `document.querySelectorAll(selector)`: تُرجع هذه الطريقة مجموعة من جميع العناصر التي تطابق محدد CSS المحدد. ترجع NodeList (تشبه المصفوفة ولكنها ثابتة).

مثال:

```javascript // الحصول على العنصر الذي له id يساوي "myParagraph" var paragraph = document.getElementById("myParagraph");

// الحصول على جميع العناصر التي لها class تساوي "highlight" var highlightedElements = document.getElementsByClassName("highlight");

// الحصول على جميع عناصر الفقرات (

) var paragraphs = document.getElementsByTagName("p"); // الحصول على العنصر الأول الذي له class تساوي "special" var specialElement = document.querySelector(".special"); // الحصول على جميع العناصر التي لها class تساوي "item" var items = document.querySelectorAll(".item"); ``` التلاعب بعناصر DOM بمجرد الوصول إلى عناصر DOM، يمكنك التلاعب بها بعدة طرق:

  • تغيير المحتوى:
* `element.innerHTML`: يسمح بتغيير محتوى HTML للعنصر، بما في ذلك العلامات. * `element.textContent`: يسمح بتغيير النص داخل العنصر، دون تفسير أي علامات HTML.
  • تغيير السمات:
* `element.setAttribute(name, value)`: يسمح بتعيين قيمة لسمة معينة. * `element.getAttribute(name)`: يسمح بالحصول على قيمة سمة معينة.
  • تغيير الأنماط (CSS):
* `element.style.propertyName = value`: يسمح بتغيير أنماط CSS للعنصر مباشرةً.
  • إضافة وإزالة العناصر:
* `document.createElement(tagName)`: ينشئ عنصر HTML جديد. * `element.appendChild(newNode)`: يضيف عقدة جديدة كابن للعنصر. * `element.removeChild(childNode)`: يزيل عقدة من العنصر.
  • إنشاء عقد نصية:
* `document.createTextNode(text)`: ينشئ عقدة نصية جديدة. مثال: ```javascript // تغيير محتوى الفقرة paragraph.innerHTML = "هذا هو محتوى جديد للفقرة."; // تغيير لون خلفية الفقرة paragraph.style.backgroundColor = "yellow"; // إنشاء عنصر جديد var newDiv = document.createElement("div"); // إضافة نص إلى العنصر الجديد var newText = document.createTextNode("هذا هو عنصر جديد."); newDiv.appendChild(newText); // إضافة العنصر الجديد إلى body document.body.appendChild(newDiv); ``` التعامل مع الأحداث (Events) يسمح DOM لـ JavaScript بالاستماع إلى الأحداث التي تحدث في المستند، مثل النقر على زر أو تحميل الصفحة. يمكنك استخدام `addEventListener` لإرفاق مستمع حدث بعنصر: ```javascript // إضافة مستمع حدث للنقر على الزر var button = document.getElementById("myButton"); button.addEventListener("click", function() { alert("تم النقر على الزر!"); }); ``` أحداث DOM الشائعة
  • `click`: يحدث عند النقر على عنصر.
  • `mouseover`: يحدث عندما يتحرك مؤشر الماوس فوق عنصر.
  • `mouseout`: يحدث عندما يتحرك مؤشر الماوس خارج عنصر.
  • `keydown`: يحدث عند الضغط على مفتاح.
  • `keyup`: يحدث عند رفع إصبع عن مفتاح.
  • `load`: يحدث عند تحميل الصفحة بالكامل.
  • `submit`: يحدث عند إرسال نموذج (form).
الخصائص والأساليب المهمة في DOM
  • `document.body`: يشير إلى عنصر `<body>` في المستند.
  • `element.parentNode`: يشير إلى العنصر الأب للعنصر الحالي.
  • `element.childNodes`: ترجع قائمة بجميع العناصر الأبناء للعنصر الحالي.
  • `element.firstChild`: ترجع أول عنصر ابن للعنصر الحالي.
  • `element.lastChild`: ترجع آخر عنصر ابن للعنصر الحالي.
  • `element.nextSibling`: ترجع العنصر الشقيق التالي للعنصر الحالي.
  • `element.previousSibling`: ترجع العنصر الشقيق السابق للعنصر الحالي.
اعتبارات الأداء التلاعب بـ DOM يمكن أن يكون مكلفًا من حيث الأداء، خاصةً إذا كنت تقوم بتغييرات متكررة. إليك بعض النصائح لتحسين الأداء:
  • تقليل الوصول إلى DOM: حاول تقليل عدد مرات الوصول إلى DOM. قم بتخزين مراجع للعناصر التي تستخدمها بشكل متكرر.
  • استخدام `documentFragment`: إذا كنت بحاجة إلى إضافة العديد من العناصر إلى DOM، فاستخدم `documentFragment` لإنشاء مجموعة من العناصر في الذاكرة ثم إضافتها مرة واحدة إلى DOM.
  • تجنب إعادة تدفق (reflow) وإعادة رسم (repaint): تغيير DOM يمكن أن يؤدي إلى إعادة تدفق وإعادة رسم، وهما عمليتان مكثفتان. حاول تجميع التغييرات معًا وتقليل عدد مرات حدوثهما.
DOM في سياق الخيارات الثنائية فهم DOM حيوي في تطوير تطبيقات الويب المتعلقة بالخيارات الثنائية. على سبيل المثال:
  • تحديث أسعار الخيارات الثنائية: يمكن استخدام DOM لتحديث أسعار الخيارات الثنائية في الوقت الفعلي دون إعادة تحميل الصفحة.
  • عرض الرسوم البيانية: يمكن استخدام DOM لإنشاء وعرض الرسوم البيانية التي توضح أداء الخيارات الثنائية.
  • تفاعل المستخدم: يمكن استخدام DOM لإنشاء واجهات مستخدم تفاعلية تتيح للمستخدمين تقديم الصفقات وإدارة حساباتهم.
مواضيع ذات صلة
  • JavaScript
  • HTML
  • CSS
  • JSON
  • AJAX
  • jQuery (مكتبة JavaScript تسهل التفاعل مع DOM)
  • React (إطار عمل JavaScript لبناء واجهات المستخدم)
  • Angular (إطار عمل JavaScript لبناء واجهات المستخدم)
  • Vue.js (إطار عمل JavaScript تدريجي لبناء واجهات المستخدم)
  • Node.js (بيئة تشغيل JavaScript من جانب الخادم)
استراتيجيات الخيارات الثنائية والتحليل الفني ملخص DOM هو أداة قوية تسمح لـ JavaScript بالتفاعل مع محتوى وهيكل مستندات الويب. فهم DOM ضروري لأي مطور ويب يسعى إلى إنشاء تطبيقات ويب ديناميكية وتفاعلية. من خلال تعلم كيفية الوصول إلى عناصر DOM والتلاعب بها، يمكنك إنشاء تجارب مستخدم غنية وجذابة. كما أن فهم DOM ضروري لتطوير تطبيقات ويب متخصصة مثل منصات تداول الخيارات الثنائية.

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер