نموذج الحصول على من خلال وظيفة الوسم
-
01-07-2019 - |
سؤال
كيف يمكنني الحصول على عنصر أو عنصر القائمة من اسم العلامة.خذ على سبيل المثال أريد جميع العناصر من <h1></h1>
.
المحلول
الوثيقة.getElementsByTagName('a') بإرجاع صفيف.انظر هنا لمزيد من المعلومات: http://web.archive.org/web/20120511135043/https://developer.mozilla.org/en/DOM/element.getElementsByTagName
التعديل:إذا كنت تريد مجموعة حقيقية ، يجب استخدام شيء من هذا القبيل Array.from(document.getElementsByTagName('a'))
, أو في هذه الأيام أنك تريد Array.from(document.querySelectorAll('a'))
.ربما polyfill Array.from()
إذا كان متصفحك لا يدعم ذلك حتى الآن.يمكنني أن أوصي https://polyfill.io/v2/docs/ كثيرا (لا ينتمي بأي شكل من الأشكال)
نصائح أخرى
استخدام $$()
وتمر في CSS محدد.
قراءة النموذج وثائق API $$()
هذا يمنحك المزيد من الطاقة تتجاوز مجرد أسماء العلامات.يمكنك تحديد فصل العلاقات بين الوالدين/الطفل ، وما إلى ذلك.وهو يدعم أكثر محددات CSS من المتصفح يمكن أن يتوقع.
ماتياس Kestenholz:
getElementsByTagName ترجع NodeList الكائن الذي هو مجموعة مثل ولكن ليس صفيف ، إنه يعيش قائمة.
var test = document.getElementsByTagName('a');
alert(test.length); // n
document.body.appendChild(document.createElement('a'));
alert(test.length); // n + 1
هل يمكن أيضا استخدام $$(tag-name)[n]
للحصول على عنصر معين من المجموعة.
إذا كنت تستخدم getElementsByTagName, سوف تحتاج إلى التفاف عليه في مبلغ() للعودة صفيف.ومع ذلك ، يمكنك أن تفعل ببساطة $$('a') كما nertzy المقترحة.