$(document).ready(function() {
$("[name='all'").click(function () {
$("[name='item']").prop("checked",this.checked);//此处this为dom对象,不能用jquery对象$(this)
}); $("#selectAll").click(function () { $("[name='item']").attr("checked",true); }); $("#unSelectAll").click(function () { $("[name='item']").attr("checked",false); }); });
使用attr()方法改变checkbox的选中状态,在运行后第一次点击时改变。但如果再点击就无效了。
正确的方法是把attr()方法换成prop即可解决问题。
大牛说:“attr不可以对元素的特性做修改,但是prop可以,将prop替换attr就可以了!”