1. Ia bekerja di IE, Firefox tidak berhasil
IE Versi
Salin kode kode sebagai berikut:
<type skrip = "Teks/JavaScript">
function checkall (str) // JS yang dipilih penuh
{{
var a = document.geteLementsbyname (str);
var n = a.length;
untuk (var i = 0; i <n; i ++)
{{
a [i] .mekrok = window.event.srcelement.Checked;
}
}
</script>
Versi Fire Fox
Salin kode kode sebagai berikut:
<type skrip = "Teks/JavaScript">
function checkall (str) // JS yang dipilih penuh
{{
var a = document.geteLementsbyname (str);
var n = a.length;
untuk (var i = 0; i <n; i ++) {
A [i] .Check = document.getElementById ("all").
}
}
</script>
Analisis Penyebab: Window.event hanya dapat berjalan di bawah IE, jadi JS tidak bekerja di bawah Fire Fox. Dalam versi Fire Fox, kotak centang "id = semua" dipilih secara langsung, dan kemudian setiap item dari grup kotak centang "name = str" ditugaskan untuk menjaga sinkronisasi status pemilihan.
2. Perbedaan antara Document.getElementById () dan Docume
JS di atas memperoleh status kotak centang dalam dua cara. Namun, kedua metode ini berbeda. Pada saat itu, saya merasa ingin menggunakan satu dengan santai, tetapi setelah nama itu diubah, kode JS tidak berfungsi.
(1) Document.getElementById () adalah untuk mengakses elemen tertentu melalui ID, karena ID dalam satu halaman unik, jadi fungsi ini mengembalikan elemen
(2) document.getElementsbyname () adalah untuk mengakses elemen melalui nama, karena nama dalam satu halaman bukan satu -satunya, itu dapat diganti, jadi fungsi ini mengembalikan satu set elemen
Justru karena satu adalah elemen dan yang lainnya adalah array, sehingga kesalahan akan dilakukan ketika Anda tidak memperhatikan saat dicampur, mengakibatkan JS tidak dapat berjalan. Misalnya, pada saat itu saya mengambil [i] .Check = document.getElementById ("All"). tetapi tidak melaporkan kesalahan, rasanya tidak berhasil). Faktanya, tidak memuaskan di sini, karena metode penulisan yang benar adalah [i] .Check = document.getElementsbyname ("semua" "semua") [0 ] .Checked; Setelah perubahan ini, efeknya sama. Karena hanya ada satu kotak centang dengan "name = all" di halaman kami, kami menggunakan [0] untuk mengambil elemen pertama dalam elemen, yaitu, kami menggunakan [i] .Checked = document.getElementById ("all"). Diperiksa;