最近调试.attr('checked')发现返回的是undefined,所以总结一下不同的jquery版本判断和改变checkbox状态返回的结果:
一、jquery判断checked的几种方法:
1、$(this).attr("checked"):版本1.6+返回:"checked"或"undefined" ;1.5-返回:true或false
2、$(this).prop('checked'): //1.6返回+:true/false
3、$(this).is(':checked'): //所有版本:true/false
二、jquery赋值checked的几种写法:
1、所有的jquery版本都可以这样赋值:
$(this).attr("checked","checked");
$("#xxx").attr("checked",true);
2、jquery1.6+:prop的4种赋值:
$(this).prop("checked",true);
$(this).prop("checked","checked");
$("#xxx").prop({checked:true});
$("#xxx").prop("checked",function(){//函数返回true或false
return true;
});
总结:使用$(this).attr("checked")有时都是返回undefined,为了不受版本限制,建议使用:
$(this).is(':checked')来判断checked
$(this).attr("checked",true)来赋值checked