通过jQuery的选择器可得到复选框的属性设置,使用attr()属性设置,可以实现点击一个复选框控制其他复选框是否被选中,方法如下所示,
$('#beijie').click(function () {
if($('#beijie').is(":checked")){//被选中
$('.beijie_able').attr("checked",true);
}
else{
$('.beijie_able').attr("checked",false);
}
})
但是在二次点击的时候该方法不会生效
通过查找资料发现,prop()可实现多次点击还能控制复选框的状态
原因如下
attr操作的是文档节点的属性,针对HTML元素属性,在1.6以前,attr获取表单元素的checked、selected、disabled的属性和prop一样都返回boolean类型,在1.6以后,其返回string类型,表示文档加载时的初始状态,即使之后更改该属性也不会变化。
prop操作的是js对象的属性,针对Dom元素属性,是jQuery1.6以后才有的函数
重点:如果具有false和true两个值的属性,比如checked、selected或disable使用prop,其他使用attr。