现代 jQuery
Use .prop() https://api.jquery.com/prop:
$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);
DOM API
如果您只使用一个元素,则始终可以访问底层元素HTMLInputElement https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement并修改其.checked https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement#Properties_checkbox_radio财产:
$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;
使用的好处.prop()
and .attr()
方法而不是这样,因为它们将对所有匹配的元素进行操作。
jQuery 1.5.x 及更低版本
The .prop()
方法不可用,因此您需要使用.attr() https://api.jquery.com/attr.
$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);
请注意,这是jQuery 1.6 版本之前的单元测试使用的方法 https://github.com/jquery/jquery/blob/1.5.2/test/unit/attributes.js#L157并且优于使用$('.myCheckbox').removeAttr('checked');
因为如果最初选中该框,后者将更改调用的行为.reset() https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.reset任何包含它的形式 - 一种微妙但可能不受欢迎的行为变化。
有关更多上下文,请参阅有关处理更改的一些不完整的讨论checked
从 1.5.x 到 1.6 的过渡中的属性/属性可以在1.6 版本发行说明 https://blog.jquery.com/2011/05/03/jquery-16-released/和属性与属性的部分.prop()文档 https://api.jquery.com/prop.