首页 > 代码库 > checkbox全选和取消功能

checkbox全选和取消功能

  这是开发中常见的小功能,想当初我也曾对于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.属性名,可操作内存中的属性值。

checkbox全选和取消功能