Спор с руководителем.Проверка на отмеченный чекбокс
Друзья, разрешите, пожалуйста, спор средненького разработчика со своим руководителем.
Задача: Сделать что то, если конкретный чекбокс("#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, время: 11:12. |