引入 prop 方法后,现在我需要知道取消选中复选框的可接受方式。

$('input').filter(':checkbox').removeAttr('checked');

或者

$('input').filter(':checkbox').prop('checked',false);

答案

jQuery 3

从 jQuery 3 开始,removeAttr不是 设置相应的属性为false不再:

在 jQuery 3.0 之前,使用.removeAttr()在布尔属性上,例如checked,selected, 或者readonly还将相应的命名属性设置为false

使用起来几乎总是错误的.removeAttr( "checked" )在 DOM 元素上。.prop( "checked", false )应该使用。

变更日志

因此只有.prop('checked',false)使用此版本时是正确的方法。


Original answer (from 2011):

对于具有基础布尔属性的属性(其中checked是一),removeAttr自动将基础属性设置为false

所以,两者都可以…但是你给出的第二个例子(使用prop) 是两者中更正确的一个。财产 ,不是属性,不需要经过removeAttr要做到这一点。

来自: stackoverflow.com