1. Es funktioniert in IE, Firefox funktioniert nicht
Dh Version
Kopieren Sie den Code -Code wie folgt:
<script type = "text/javaScript">
Funktion checkall (str) // Voll ausgewählte JS
{{{{
var a = document.getElementsByName (str);
var n = a.länge;
für (var i = 0; i <n; i ++)
{{{{
a [i]. Checked = window.event.srcelement.Conted;
}
}
</script>
Fire Fox -Version
Kopieren Sie den Code -Code wie folgt:
<script type = "text/javaScript">
Funktion checkall (str) // Voll ausgewählte JS
{{{{
var a = document.getElementsByName (str);
var n = a.länge;
für (var i = 0; i <n; i ++) {
a [i] .Coned = document.getElementById ("All").
}
}
</script>
Ursache Analyse: Window.event kann nur unter dem IE laufen, daher funktioniert JS nicht unter dem Feuerfuchs. In der Fire Fox -Version ist das Kontrollkästchen "ID = All" direkt ausgewählt, und dann wird jedes Element der Kontrollkästchen -Gruppe von "name = str" zugewiesen, um die Synchronisation der Auswahlstatus zu halten.
2. Der Unterschied zwischen document.getElementById () und docume
Das obige JS erhält den Zustand des Kontrollkästchens auf zwei Arten. Diese beiden Methoden sind jedoch unterschiedlich. Zu dieser Zeit hatte ich Lust, eine beiläufig zu verwenden, aber nachdem der Name geändert wurde, funktionierte der JS -Code nicht.
(1) document.getElementById () soll über ID auf ein bestimmtes Element zugreifen, da die ID in einer Seite eindeutig ist. Diese Funktion gibt daher ein Element zurück
(2) document.getElementsByName () soll auf Elemente über den Namen zugreifen, da der Name in einer Seite nicht die einzige ist, sie kann ersetzt werden, sodass diese Funktion eine Reihe von Elementen zurückgibt
Genau deshalb ist es Elemente und das andere ist ein Array, sodass der Fehler gemacht wird, wenn Sie bei gemischtem Misch nicht aufmerksam sind, was dazu führt, dass JS nicht ausgeführt werden kann. Zum Beispiel nahm ich [i] überprüft. meldet jedoch keine Fehler, es fühlt sich nicht so an, als würde es nicht funktionieren. ]. Nach dieser Änderung war der Effekt gleich. Da es auf unserer Seite nur ein Kontrollkästchen mit "name = all" gibt, verwenden wir [0], um das erste Element in Elementen zu nehmen, dh ein [i]. Checked = document.getElementById ("All"). Überprüft;