版权声明:本文为博主原创文章,未经博主允许不得转载。
之前我是这样写的
- <pre name="code" class="javascript"> var allIsChecked=$('#checkedAll').is(':checked');
- var checkboxes = $('input[name="checkbox"]');
- allIsChecked?checkboxes.attr('checked',true):checkboxes.attr('checked',false);
第一次点的时候好用,但是第二次之后就不行了。
后来查资料改成下面这样就好用了
- var allIsChecked=$('#checkedAll').is(':checked');
- var checkboxes = $('input[name="checkbox"]');
- allIsChecked?checkboxes.prop('checked',true):checkboxes.prop('checked',false);
原因是jQuery自1.6.1开始增加了一个prop()方法,关于attr和prop的使用区别总结起来就是具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr(),具体见下表:

本文介绍了一个常见的 jQuery 问题,即如何正确地切换复选框的状态。通过对比 attr 和 prop 方法,解释了为何从 1.6.1 版本开始,对于 checked、selected 和 disabled 这样的布尔属性,推荐使用 prop 而不是 attr。文中提供了具体的示例代码来说明正确的使用方法。
3522

被折叠的 条评论
为什么被折叠?



