Jquery代码不再适用于较新的版本2.1.4在1.11.0上

时间:2015-09-04 19:00:27

标签: jquery

我从Jquery 1.11.0升级 - > 2.1.4现在这段代码不起作用

$('input:checkbox').click(function () {
   $(this).closest('tr').find('input:checkbox').removeProp('checked');
   $(this).prop('checked', true);
});

1 个答案:

答案 0 :(得分:2)

来自the documentation

  

注意:请勿使用此方法删除本机属性,例如   选中,已禁用或已选中。这将删除该属性   完全,一旦删除,不能再添加到元素。使用   .prop()将这些属性设置为false。

将您的代码更改为

$('input:checkbox').click(function () {
     $(this).closest('tr').find('input:checkbox').prop('checked', false);
     $(this).prop('checked', true);
});

附注1:我从未见过使用removeProp的任何正当理由。如果你在其他地方使用它,你可能应该再看看那个部分。

旁注2:看起来你正在使用复选框模拟单选按钮。这可能会让您的用户感到有些不安。