1. إنه يعمل في IE ، Firefox لا يعمل
IE الإصدار
نسخ رمز رمز على النحو التالي:
<script type = "text/javaScript">
وظيفة checkall (str) // js المحددة الكاملة
{{
var a = document.getElementSbyName (str) ؛
var n = A.Length ؛
لـ (var i = 0 ؛ i <n ؛ i ++)
{{
a [i]
}
}
</script>
إصدار Fire Fox
نسخ رمز رمز على النحو التالي:
<script type = "text/javaScript">
وظيفة checkall (str) // js المحددة الكاملة
{{
var a = document.getElementSbyName (str) ؛
var n = A.Length ؛
لـ (var i = 0 ؛ i <n ؛ i ++) {
A [i].
}
}
</script>
تحليل السبب: Window.Event لا يمكن تشغيله إلا تحت IE ، لذلك لا يعمل JS تحت Fire Fox. في إصدار Fire Fox ، يتم تحديد مربع اختيار "id = all" مباشرة ، ثم يتم تعيين كل عنصر من مجموعة مربع الاختيار من "name = str" للحفاظ على مزامنة حالة التحديد.
2. الفرق بين المستند.
يحصل JS أعلاه على حالة الاختيار بطريقتين. ومع ذلك ، فإن هاتين الطريقتين مختلفتين. في ذلك الوقت ، شعرت باستخدام واحد بشكل عرضي ، ولكن بعد تغيير الاسم ، لم ينجح رمز JS.
(1) document.getElementById () هو الوصول إلى عنصر معين من خلال معرف ، لأن المعرف في صفحة واحدة فريدة من نوعها ، لذلك هذه الوظيفة تُرجع عنصرًا
(2) المستند.
يرجع ذلك بالتحديد لأن أحدهم هو عناصر والآخر عبارة عن صفيف ، لذلك سيتم ارتكاب الخطأ عندما لا تنتبه عند الاختلاط ، مما يؤدي إلى عدم قدرة JS على الجري. على سبيل المثال ، أخذت [i] ولكن لا يبلغ عن أخطاء ، يبدو أنه لا يعمل). ]. نظرًا لوجود مربع اختيار واحد فقط مع "name = all" في صفحتنا ، فإننا نستخدم [0] لاتخاذ العنصر الأول في العناصر ، أي أننا نستخدم [i] فحص