У версіях 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();робіт і запустить будь-які пов’язані події.