问一下大家有没有发现jquery高版本问题,我的/jquery-3.3.1.js怎是出现错误,这个错误那怕没有其它的js代码,只是引用这个js文件就会现错.但jquery-1.4.2.min.js正常,而且在以下代码全选checkbox时,第一次有作用,测试发现点第二次全选没用了,大家有没有出现同样状况?======================================================
jQuery.fn.checkBoxAll = function(name){
$(this).click(function(){
if($(this).is(":checked")){
$("input:checkbox[name="+name+"]").attr("checked",true);
}else{
$("input:checkbox[name="+name+"]").attr("checked",false);
}
});
}

解决方案 »

  1.   

    1.4.x 之后
    attr 改成 prop
      

  2.   

    jQuery.fn.checkBoxAll = function(name){
    $(this).click(function(){
    if($(this).prop(":checked")){
    $("input:checkbox[name="+name+"]").prop("checked",true);
    }else{
    $("input:checkbox[name="+name+"]").prop("checked",false);
    }
    });
    }
      

  3.   

    只能用一次,第二次失效是因为用attr()方法设置的checked是tag标签的属性,设置任何的值都是选中状态,attr("checked",false); 也是选中状态所以对于checked要用prop()方法设置,这样设置的是dom对象的属性