1. Это работает в т.е., Firefox не работает
Т.е. версия
Код кода копирования следующим образом:
<script type = "text/javascript">
Function checkall (str) // Полный выбранный JS
{{
var a = document.getelementsbyname (str);
var n = a.length;
для (var i = 0; i <n; i ++)
{{
a [i] .Checked = window.event.srcelement.Checked;
}
}
</script>
Fire Fox версия
Код кода копирования следующим образом:
<script type = "text/javascript">
Function checkall (str) // Полный выбранный JS
{{
var a = document.getelementsbyname (str);
var n = a.length;
для (var i = 0; i <n; i ++) {
a [i] .cecked = document.getElementById ("All").
}
}
</script>
Анализ причина: window.Event может работать только под IE, поэтому JS не работает под Fire Fox. В версии Fire Fox выбран флажок «id = all», а затем каждый элемент группы флажков «name = str» назначается для сохранения синхронизации состояния выбора.
2. Разница между Document.getElementById () и документом
JS выше получает состояние флажки двумя способами. Однако эти два метода отличаются. В то время мне хотелось использовать его случайно, но после того, как имя было изменено, код JS не сработал.
(1) Document.getElementById () - это доступ к определенному элементу через ID, потому что идентификатор на одной странице уникален, поэтому эта функция возвращает элемент
(2) Document.getElementsByname () - это доступ к элементам через имя, потому что имя на одной странице не единственное, оно может быть заменено, поэтому эта функция возвращает набор элементов
Это именно потому, что один из них является элементом, а другой - массив, поэтому ошибка будет сделана, когда вы не обратите внимание на смешивание, что приводит к тому, что JS не может работать. Например, в то время я взял [I]. но не сообщает об ошибках, кажется, что это не работает). ]. Проверка; Поскольку на нашей странице есть только один флажок с «name = all», мы используем [0], чтобы взять первый элемент в элементах, то есть мы используем [i] .Checked = document.getElementById («Все»). Проверяется;