js控制checkbox选中状态,重复执行不生效

来源:互联网 发布:iphone视频剪辑软件 编辑:程序博客网 时间:2024/06/05 02:44

个人习惯用js控制checkbox选中状态代码:

$("#cb1").attr("checked","checked");$("#cb1").attr("checked",true);$("#cb1").removeAttr("checked","checked");$("#cb1").removeAttr("checked",true);

但是当重复调用的时候,会出现无法勾选上情况。查看源码该对象的属性也存在“checked=’checked’”。
百度后发现这是JQuery 1.6+以后的一个坑!
jquery在1.6的时候新引入了一个prop这个方法,专门用来获取表单属性,例如radio checkbox等,这里你用attr是无法获取到的。
所以,在使用jquery1.6之后的版本时,都应用prop而不是attr。
选中checkbox代码改为:

$("#cb1").prop("checked","checked");$("#cb1").prop("checked",true);

解决问题!

原创粉丝点击