1. Funciona en IE, Firefox no funciona
Es decir, versión
Copiar código del código de la siguiente manera:
<script type = "text/javaScript">
función checkall (str) // js seleccionado completo
{{
var a = document.getElementsByName (str);
var n = a.length;
para (var i = 0; i <n; i ++)
{{
a [i] .ecked = window.event.srcelement.ecked;
}
}
</script>
Versión Fire Fox
Copiar código del código de la siguiente manera:
<script type = "text/javaScript">
función checkall (str) // js seleccionado completo
{{
var a = document.getElementsByName (str);
var n = a.length;
para (var i = 0; i <n; i ++) {
a [i] .ecked = document.getElementById ("Todos").
}
}
</script>
Análisis de causa: Window.Event solo puede funcionar bajo IE, por lo que JS no funciona bajo el Fire Fox. En la versión Fire Fox, la casilla de verificación de "id = all" se selecciona directamente, y luego cada elemento del grupo de casilla de verificación de "name = str" se asigna para mantener la sincronización del estado de selección.
2. La diferencia entre document.getElementById () y DOCUME
El JS anterior obtiene el estado de la casilla de verificación de dos maneras. Sin embargo, estos dos métodos son diferentes. En ese momento, tenía ganas de usar uno casualmente, pero después de que se cambió el nombre, el código JS no funcionó.
(1) document.getElementById () es acceder a un cierto elemento a través de ID, porque la identificación en una página es única, por lo que esta función devuelve un elemento
(2) document.getElementsByName () es para acceder a elementos a través del nombre, porque el nombre en una página no es el único, se puede reemplazar, por lo que esta función devuelve un conjunto de elementos
Es precisamente porque uno es elementos y el otro es una matriz, por lo que el error se realizará cuando no preste atención cuando se mezcle, lo que resulta en que JS no pueda ejecutarse. Por ejemplo, en el momento en que tomé un [i] .Calked = Document.getElementById ("Todos"). pero no informa errores, parece que no funciona). ]. Revisado; Debido a que solo hay una casilla de verificación con "name = todos" en nuestra página, usamos [0] para tomar el primer elemento en elementos, es decir, usamos un [i] .ecked = document.getElementById ("all"). Verificado;