一开始的代码:
当使用带有jQuery的方法attr()时,会有相应的问题存在,比如当你在点击id=all的复选框前去点击id=list下的复选框,这时当你再次点击id=all的复选框时就会出现之前点击的复选框没有变化,但是查看元素时发现该复选框的checked值会发生相应的变化。我查了一下资料,问题出在如下:
原来是jQuery版本问题。因为这里用的是attr(),而jQuery的版本用的是3.1.0的,这就存在一个兼容性问题。
$("XXX").attr("attrName");而jQuery的版本用的是2.1.1,这就是存在一个兼容性和稳定性问题。
jQuery API明确说明,1.6+的jQuery要用prop,尤其是checkBox的checked的属性的判断,
即使用代码如下:
Box").each(function () {
$(this).prop("checked",true); //选择器要有空格隔开
})
} else {
$("#list :checkBox").each(function () {
$(this).prop("checked",false);
})
}
});</pre>
给出使用jQuery事先的全选和全不选:
使用原声JS实现全选和全不选