"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل توجد طريقة Wildcard لمطابقة اسم العنصر في \"querySelector()\" و\"querySelectorAll()\" في JavaScript؟

هل توجد طريقة Wildcard لمطابقة اسم العنصر في \"querySelector()\" و\"querySelectorAll()\" في JavaScript؟

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

Is There a Wildcard Method for Element Name Matching in JavaScript\'s \

مطابقة اسم عنصر البدل مع "querySelector ()" و"querySelectorAll ()" في JavaScript

المشكلة:

يمكن أن يكون الاستعلام عن مستند XML يحتوي على عناصر تحتوي على سلاسل محددة مضمنة في أسمائها أمرًا صعبًا. على الرغم من أن CSS يدعم أحرف البدل لاستعلامات السمات، يبدو أن الوظيفة نفسها مفقودة بالنسبة لأسماء العناصر.

الحل:

لسوء الحظ، لا توجد طريقة مباشرة لمطابقة عنصر البدل الأسماء باستخدام "querySelector()" أو "querySelectorAll()". ومع ذلك، هناك طرق بديلة:

  • مطابقة السمات: يوفر CSS أحرف البدل لقيم السمات. لمطابقة العناصر التي تحتوي على سلسلة معينة في اسمها، ابحث عن وجود تلك السلسلة ضمن أي من سماتها باستخدام بناء الجملة التالي:

    • [attribute^='value'] يطابق العناصر التي تبدأ سمتها بـ "قيمة".
    • [attribute$='value'] يطابق العناصر التي تنتهي سمتها بـ "قيمة".
    • [attribute*='value'] يطابق العناصر التي تحتوي سمتها على "قيمة". "القيمة".
  • سمة الاسم: إذا كنت مهتمًا بمطابقة سمة "الاسم"، فما عليك سوى استبدال "المعرف" بـ "الاسم" في ما سبق. تعبيرات.

مثال:

للعثور على جميع العناصر التي تحتوي على السلسلة "name" في سمة "name" الخاصة بها، يمكنك use:

const elementsWithName = document.querySelectorAll('[name*="name"]');

ملاحظة:

إذا كنت تبحث عن مطابقة أحرف البدل لاسم علامة العنصر نفسه، فلا يوجد حاليًا حل مباشر باستخدام "querySelector()" أو "querySelectorAll()".

بيان الافراج أعيد طبع هذه المقالة على: 1729664489 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3