1. Cela fonctionne dans IE, Firefox ne fonctionne pas
IE Version
Copier le code du code comme suit:
<script type = "text / javascript">
Fonction CheckAll (STR) // JS sélectionné complet
{{
var a = document.getElementsByName (str);
var n = a.Length;
pour (var i = 0; i <n; i ++)
{{
a [i] .checked = window.event.srcelement.checked;
}
}
</cript>
Version Fire Fox
Copier le code du code comme suit:
<script type = "text / javascript">
Fonction CheckAll (STR) // JS sélectionné complet
{{
var a = document.getElementsByName (str);
var n = a.Length;
pour (var i = 0; i <n; i ++) {
a [i] .checked = document.getElementByid ("tout").
}
}
</cript>
Analyse de cause: Window.event ne peut fonctionner que sous IE, donc JS ne fonctionne pas sous le Fire Fox. Dans la version Fire Fox, la case à cocher de "id = all" est directement sélectionnée, puis chaque élément du groupe de case de "name = str" est attribué pour maintenir la synchronisation de l'état de sélection.
2. La différence entre document.getElementById () et Darme
Le JS ci-dessus obtient l'état de la boîte à cocher de deux manières. Cependant, ces deux méthodes sont différentes. À ce moment-là, j'avais envie de l'utiliser avec désinvolture, mais après le changement de nom, le code JS n'a pas fonctionné.
(1) document.getElementById () est d'accès à un certain élément via ID, car l'ID en une page est unique, donc cette fonction renvoie un élément
(2) Document.getElementsByName () est d'accès aux éléments via le nom, car le nom en une seule page n'est pas le seul, il peut être remplacé, donc cette fonction renvoie un ensemble d'éléments
C'est précisément parce que l'un est des éléments et l'autre est un tableau, donc l'erreur sera commise lorsque vous ne faites pas attention lorsqu'elle est mélangée, ce qui entraîne JS incapable de s'exécuter. Par exemple, à l'époque, j'ai pris un [i] .Cheaded = document.getElementByid ("all"). mais ne signale pas les erreurs, il semble que cela ne fonctionne pas). ]. Vérification; après ce changement, l'effet était le même. Parce qu'il n'y a qu'une seule case à cocher avec "name = all" dans notre page, nous utilisons [0] pour prendre le premier élément des éléments, c'est-à-dire que nous utilisons un [i] .Cheded = document.getElementByid ("all"). Vérifié; l'élément obtenu.