الصفحة الرئيسية » الترميز » 15 طرق جافا سكريبت للحصول على معالجة DOM لمطوري الويب

    15 طرق جافا سكريبت للحصول على معالجة DOM لمطوري الويب

    كمطور ويب ، فأنت تحتاج كثيرًا إلى التعامل مع DOM, طراز الكائن الذي تستخدمه المتصفحات إلى تحديد الهيكل المنطقي من صفحات الويب ، واستنادا إلى هذا الهيكل ل تقديم عناصر HTML على الشاشة.

    HTML يحدد بنية DOM الافتراضية. ومع ذلك ، في كثير من الحالات قد ترغب في معالجة هذا باستخدام JavaScript ، عادةً من أجل إضافة وظائف إضافية إلى الموقع.

    الصورة: مطورو Google

    في هذا المنشور ، ستجد قائمة 15 طرق جافا سكريبت الأساسية أن مساعدة دوم التلاعب. من المحتمل أنك تستخدم هذه الأساليب بشكل متكرر في التعليمات البرمجية الخاصة بك ، وسوف تصطدم بها أيضًا في برامج جافا سكريبت التعليمية الخاصة بنا.

    1. querySelector ()

    ال querySelector () طريقة إرجاع العنصر الأول الذي يطابق واحد أو أكثر من محددات CSS. إذا لم يتم العثور على تطابق ، فستعود لا شيء.

    قبل querySelector () وقدم والمطورين تستخدم على نطاق واسع getElementById () الطريقة التي جلب عنصر مع المحدد هوية شخصية القيمة.

    برغم من getElementById () لا تزال طريقة مفيدة ، ولكن مع الأحدث querySelector () و querySelectorAll () طرق نحن أحرار في العناصر المستهدفة على أساس أي محدد CSS, وبالتالي لدينا المزيد من المرونة.

    بناء الجملة
    var ele = document.querySelector (محدد) ؛
    • ايلى - أول عنصر مطابقة أو لا شيء (إذا لم يكن هناك عنصر يطابق المحددات)
    • منتخب - واحد أو أكثر من محددات CSS ، مثل "#fooId", ".fooClassName", ".class1.class2", أو ".class1 ، .class2"
    مثال على الكود

    في هذا المثال ، الأول

    يتم اختيار مع querySelector () يتم تغيير الأسلوب ولونه إلى اللون الأحمر.

     

    الفقرة الأولى

    الفقرة الثانية

    div واحد

    الفقرة الثالثة

    div اثنين
     var firstDiv = document.querySelector ('div')؛ firstDiv.style.color = 'red' ؛ 
    عرض تفاعلي

    اختبار querySelector () الطريقة في التجريبي التفاعلي التالي. فقط اكتب محددًا يطابق ما يمكنك العثور عليه داخل الصناديق الزرقاء (على سبيل المثال. #ثلاثة) ، وانقر فوق الزر تحديد. لاحظ أنه إذا كتبت .منع, فقط حالته الأولى سيتم اختيار.

    2. querySelectorAll ()

    مختلف querySelector () تقوم بإرجاع المثيل الأول فقط من جميع العناصر المطابقة, querySelectorAll () إرجاع جميع العناصر التي تطابق محدد CSS المحدد.

    يتم إرجاع العناصر المطابقة كـ NodeList كائن سيكون كائنًا فارغًا إذا لم يتم العثور على عناصر مطابقة.

    بناء الجملة
    var eles = document.querySelectorAll (محدد) ؛
    • الانقليس - ا NodeList كائن مع جميع عناصر مطابقة كقيم القيم. الكائن فارغ إذا لم يتم العثور على تطابقات.
    • منتخب - واحد أو أكثر من محددات CSS ، مثل "#fooId", ".fooClassName", ".class1.class2", أو ".class1 ، .class2"
    مثال على الكود

    المثال التالي يستخدم نفس HTML كما في السابق. ومع ذلك ، في هذا المثال ، يتم تحديد جميع الفقرات مع querySelectorAll (), واللون الأزرق.

     

    الفقرة الأولى

    الفقرة الثانية

    div واحد

    الفقرة الثالثة

    div اثنين
     var فقرات = document.querySelectorAll ('p') ؛ لـ (var p of paragraph) p.style.color = 'blue'؛ 

    3. addEventListener ()

    أحداث قم بالإشارة إلى ما يحدث لعنصر HTML ، مثل النقر أو التركيز أو التحميل ، والتي يمكننا التفاعل مع JavaScript. يمكننا تعيين وظائف JS ل استمع لهذه الأحداث في العناصر وفعل شيء عندما حدث هذا الحدث.

    هناك ثلاث طرق يمكنك تعيين وظيفة لحدث معين.

    إذا فو () هي وظيفة مخصصة ، يمكنك تسجيله كمستمع الحدث انقر (أسميها عند النقر فوق عنصر الزر) بثلاث طرق:

    1.  
    2.  var btn = document.querySelector ('button') ؛ btn.onclick = فو.
    3.  var btn = document.querySelector ('button') ؛ btn.addEventListener ("انقر" ، فو) ؛

    طريقة addEventListener () (الحل الثالث) لديه بعض الايجابيات. هذا هو أحدث معيار - السماح بتعيين أكثر من وظيفة كمستمعين للحدث لحدث واحد - ويأتي مع مجموعة مفيدة من الخيارات.

    بناء الجملة
    ele.addEventListener (evt ، مستمع ، [خيارات]) ؛
    • ايلى - عنصر HTML الذي سيستمع إليه مستمع الحدث.
    • EVT - الحدث المستهدف.
    • مستمع - عادة ، وظيفة جافا سكريبت.
    • خيارات - (اختياري) كائن به مجموعة من الخصائص المنطقية (المذكورة أدناه).
    خيارات ما يحدث ، عندما يتم تعيينه على صحيح?
    أسر

    توقف عن ظهور الأحداث ، أي منع استدعاء أي مستمع للحدث لنفس نوع الحدث في أسلاف العنصر..

    لاستخدام هذه الميزة ، يمكنك استخدام بناء جملة اثنين:

    1. ele.addEventListener (evt ، مستمع ، صحيح)
    2. ele.addEventListener (evt ، مستمع ، capture: true) ؛
    ذات مرة

    يتم استدعاء المستمع فقط في المرة الأولى التي يحدث فيها الحدث ، ثم يتم فصله تلقائيًا عن الحدث ، ولن يتم تشغيله بعد الآن..

    مبني للمجهول

    لا يمكن إيقاف الإجراء الافتراضي للحدث باستخدام طريقة preventDefault ().

    مثال على الكود

    في هذا المثال ، نضيف مستمع أحداث النقر يسمى فو, إلى

     var btn = document.querySelector ('button') ؛ btn.addEventListener ( "فوق"، فو)؛ الدالة foo () alert ('hello') ؛ 
    عرض تفاعلي

    تعيين فو () وظيفة مخصصة كمستمع حدث لأي من الأحداث الثلاثة التالية: إدخال, انقر أو مرر الفأرة فوق & تشغيل الحدث الذي تم اختياره في حقل الإدخال السفلي من خلال التمرير فوقه أو النقر فوقه أو كتابته.

    4. removeEventListener ()

    ال removeEventListener () طريقة يفصل مستمع الحدث أضيفت سابقا مع addEventListener () طريقة من الحدث الذي يستمع إليه.

    بناء الجملة
    ele.removeEventListener (evt ، مستمع ، [خيارات]) ؛

    يستخدم نفس بناء الجملة المذكور أعلاه addEventListener () طريقة (باستثناء ذات مرة الخيار المستبعد). يتم استخدام الخيارات لتكون محددة جدًا حول تعريف المستمع المراد فصله.

    مثال على الكود

    باتباع مثال الكود الذي استخدمناه في addEventListener (), نحن هنا إزالة المستمع الحدث انقر يسمى فو من