先看 一段选中所有页面check类型的代码
$("#SelectBtn").click(function(){
var state=$("#SelectAll").attr("checked");
if(state != true){
selectAll()
$("#SelectAll").attr("checked","true");
}
else{
cancelAll()
$("#SelectAll").attr("checked","false");
}
});
var state=$("#SelectAll").attr("checked");
if(state != true){
selectAll()
$("#SelectAll").attr("checked","true");
}
else{
cancelAll()
$("#SelectAll").attr("checked","false");
}
});
逻辑上正确,问题在这一句
$("#SelectAll").attr("checked","false");
咋一看是想取消选中,其实不然。“checked是一个单属性”,无论它是true还是false,它总是checked而非unchecked。
所以上边的一句应该改成
$("#SelectAll").removeAttr("checked")
<input type="checkbox" checked=“false ”/>虽然false,但这一项仍被选中