问题

我想使用 jQuery 来执行类似这样的操作:>

$(".myCheckBox").checked(true);

$(".myCheckBox").selected(true);

这样的事情是否存在?



解决方法

jQuery 1.6+

使用新的 .prop() 方法:

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

jQuery 1.5.x and below

.prop()方法不可用,因此您需要使用 .attr() .

$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);

请注意,这是使用的方法jQuery的版本1.6之前的单元测试,并且优于使用

$('.myCheckbox').removeAttr('checked');

因为后者会在最初检查该框时,将调用的行为更改为 .reset() .一个微妙但可能不受欢迎的行为更改.

对于更多上下文,在从1.5.x到1.6的转换中,对 checked 属性/属性的处理更改的一些不完整的讨论可以在版本1.6发行说明属性与属性部分 .prop()文档.

Any version of jQuery

如果您只使用一个元素,则可以随时修改 HTMLInputElement .checked 属性:

$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;

使用 .prop() .attr()方法而不是这样的好处是,它们将对所有匹配的元素进行操作.




相关问题推荐