Спор с руководителем.Проверка на отмеченный чекбокс
Друзья, разрешите, пожалуйста, спор средненького разработчика со своим руководителем.
Задача: Сделать что то, если конкретный чекбокс("#cb") выбран или нет. Проголосуйте пожалуйста за вариант, который считаете лучше(по любой шкале). 1.
if($("#сb:checked").length) {
// делаем что то
}
2.
if($("#сb").attr('checked')) {
// делаем что то
}
|
ничего выбирать не буду
на вашем месте просто бы протестировал оба куска кода на всех возможных браузерах было бы быстрее и надежнее |
if($("#сb")[0].checked){
alert("Выбран");
}
|
оба варианта не нравятся
$("#сb").is(":checked")
вот это более понятно |
мне первый вариант понравился...
хотя второй понятнее... |
а помоему...главное чтоб мышей ловила
|
свойство checked булевого типа а атрибут checked строка квери рекомендует .prop('checked')
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<input id="сb" name="" type="checkbox" checked="checked">
<script>
alert([$("#сb:checked").length,$("#сb").attr('checked'),$("#сb")[0].checked,$("#сb").prop('checked'),$("#сb").is(":checked")]);
</script>
</body>
</html>
|
Самый наилучший вариант:
document.getElementById('cb').checked
:D |
Первый вариант не интуитивный.
Либо второй, но с поправкой рони, то есть не attr() а prop() , либо вариант melky - этот так совсем выглядит логичным, но лично меня смущает двойной вызов разборщика селектора, хотя конечно глупо считаться с такой мелочью )) Цитата:
|
Цитата:
моя настоящая ошибка в том, что я забыл про различия 'attr' и 'prop' |
| Часовой пояс GMT +3, время: 14:29. |