"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تجنب العناصر الإضافية عند تكرار العناصر المحددة باستخدام document.querySelectorAll؟

كيفية تجنب العناصر الإضافية عند تكرار العناصر المحددة باستخدام document.querySelectorAll؟

تم النشر بتاريخ 2024-12-13
تصفح:806

How to Avoid Extra Elements When Looping Through Selected Items with document.querySelectorAll?

التكرار عبر العناصر المحددة باستخدام document.querySelectorAll

المشكلة: عند محاولة التكرار عبر العناصر المحددة باستخدام document.querySelectorAll، تتضمن المخرجات عناصر إضافية وغير ذات صلة items.

مثال:

var checkboxes = document.querySelectorAll('.check'); ل(أنا في خانات الاختيار) { console.log(checkboxes[i]);
var checkboxes = document.querySelectorAll('.check');
for( i in checkboxes) {
  console.log(checkboxes[i]);
}

الإخراج: 10 غرض() nameItem()












10
item()
namedItem()

الحل:

لتكرار العناصر المحددة بشكل صحيح، قم بتحويل NodeList إلى مصفوفة. هناك عدة طرق للقيام بذلك:

  1. صيغة الانتشار (ES2015 ):

    const divs = [...document.querySelectorAll(' div')]; divs.forEach((div) => { // افعل شيئًا مع كل شعبة });

    const divs = [...document.querySelectorAll('div')];
    divs.forEach((div) => {
      // Do something with each div
    });
  2. Array.from():

    const divs = Array.from(document.querySelectorAll('div')); divs.forEach((div) => { // افعل شيئًا مع كل شعبة });

    const divs = [...document.querySelectorAll('div')];
    divs.forEach((div) => {
      // Do something with each div
    });
  3. التكرار فوق مؤشرات العقدة:

    const checkboxes = document.querySelectorAll('.check'); من أجل (دع i = 0؛ i

    const divs = [...document.querySelectorAll('div')];
    divs.forEach((div) => {
      // Do something with each div
    });
بيان الافراج أعيد طبع هذه المقالة على: 1729429999 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3