checkbox全选和取消功能

时间:2022-04-07 19:40:30
  这是开发中常见的小功能,想当初我也曾对于attr和prop的不了解踩过坑。   前端工作中,常常会使用到select复选框,select复选框有一个属性checked,当使用js或者jquery控制这个属性的时候,我们会发现有时候设置attr(‘checked’)并没有效果,可是代码明明没有问题。这时候我们应该来聊聊attr了,attr相当于getAttribute,只能操作页面上存在的属性,当复选框没有被选中时,页面上是没有checked的这个属性的,因此attr操作无效。还有一个操作属性的方法prop(),可以操作页面上没有显示的属性。
$("#check_all").click(function(){
if($(this).is(":checked")){
$(
".ck").prop("checked", 'true');
}
else{
$(
".ck").removeAttr("checked");
}
});
注意:这里如果将prop改成attr结果只能实现一次全选和取消,.attr(“”)相当于elem.getAttribute(),如果也页面中没有明确表明属性和属性值用这个是取不到的;.prop(“”)相当于elem.属性名,可操作内存中的属性值。