У версіях jQuery до 1.6 використовувати:
$('input[name="correctAnswer"]').attr('checked', false);
У версіях jQuery після 1.6 слід використовувати:
$('input[name="correctAnswer"]').prop('checked', false);
але якщо ви використовуєте 1.6.1+, ви можете скористатися першою формою (див. примітку 2 нижче).
Примітка 1: важливо, щоб другий аргумент був помилковим, а не "хибним", оскільки "false" не є хибним значенням. тобто
if ("false") {
alert("Truthy value. You will see an alert");
}
Примітка 2: Станом на jQuery 1.6.0, зараз існує два подібних методу, .attr
і вони .prop
роблять два пов'язані, але трохи різні речі. Якщо в цьому конкретному випадку наведена вище порада працює, якщо ви використовуєте 1.6.1+. Вищезгадане не працює з 1.6.0, якщо ви використовуєте 1.6.0, вам слід оновити. Якщо ви хочете деталі, продовжуйте читати.
Подробиці: При роботі з прямими елементами HTML DOM, є властивості , прикріплені до DOM елементу ( checked
, type
, value
, і т.д.) , які забезпечують інтерфейс з керуванням станом сторінки HTML. Існує також .getAttribute
/ .setAttribute
інтерфейс, який забезпечує доступ до значень атрибутів HTML, як це передбачено в HTML. Перед 1.6 jQuery розмиває відмінність, надаючи один метод .attr
, для доступу до обох типів значень. jQuery 1.6+ пропонує два способи .attr
та .prop
розрізняти ці ситуації.
.prop
дозволяє встановити властивість для елемента DOM, в той час як .attr
дозволяє встановити значення атрибута HTML. Якщо ви працюєте з простим DOM і встановити перевіряється майно, elem.checked
до true
або false
змінити йде значення (то , що бачить користувач) і значення , повернуті відстежує стан на стор. elem.getAttribute('checked')
однак повертає лише початковий стан (і повертає 'checked'
або undefined
залежно від початкового стану від HTML). У 1.6.1+ використання використовує .attr('checked', false)
і те, elem.removeAttribute('checked')
і інше, elem.checked = false
оскільки зміна спричинила багато проблем із сумісністю назад, і він не може насправді визначити, чи хотіли ви встановити атрибут HTML або властивість DOM. Додаткову інформацію див. У документації для .prop .
#(selector).prop('checked',true);
не вдасться, якщо це супроводжувалося спробою встановити наступний перемикач у тій самій групі на неперевірений стан. Трюк - лише встановити перемикач на перевірений стан і дозволити групі перемикачів робити те, що робить (зніміть прапорці для інших ...) . Крім того, виклик$(selector).click();
робіт і запустить будь-які пов’язані події.