今天在查看他人源碼時看到在判斷復選框是否選中時,與自己的寫法不同:
.is(":checked") vs .prop("checked") == true
因此,特地百度了一下,結果如下:
.attr(‘checked’): //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false
.prop(‘checked’): //1.6+:true/false
.is(‘:checked’): //所有版本:true/false//別忘記冒號哦
jquery賦值checked的幾種寫法:
所有的jquery版本都可以這樣賦值:
// $(“#cb1″).attr(“checked”,”checked”);
// $(“#cb1″).attr(“checked”,true);
jquery1.6+:prop的4種賦值:
// $(“#cb1″).prop(“checked”,true);//很簡單就不說了哦
// $(“#cb1″).prop({checked:true}); //map鍵值對
// $(“#cb1″).prop(“checked”,function(){
return true;//函數返回true或false
});
//$(“#cb1″).prop(“checked”,”checked”);
綜上所述:在判斷復選框、單選框等有checked屬性的元素是否被選中時,兼容最好的是:
.is(‘:checked’): //所有版本:true/false//別忘記冒號哦