var layer = layui.layer; //layer初始化
$("[name='checkbox']").attr("checked",'true');//全选
$("[name='checkbox']").removeAttr("checked");//取消全选
$("[name='checkbox']:even").attr("checked",'true');//选中所有奇数
//获取选择的值
var str="";
$("[name='checkbox'][checked]").each(function(){
str+=$(this).val()+""r"n";
//alert($(this).val());
})
js判断checkbox的选中状态:var isChecked = document.getElementById("share_all").checked;
jquery判断checkbox的选中状态:var isChecked = $("#checkbox_id").attr("checked")=="checked";
初始化绑定按钮的单击事件:
$(function(){
$("#btn1").click(function(){
$("[name='checkbox']").attr("checked",'true');
})
});
得到选中属性
$("#id").prop("checked")
$("#id").get(0).checked)
document.getElementById("#id").checked
$("#id").is(":checked")
设置选中
$("#id").prop("checked",true)
$("#id").get(0).checked = true
document.getElementById("#id").checked = true
.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//别忘记冒号哦
$(":radio").removeAttr('checked');
$(":radio").attr('checked','true');
实际问题:在使用removeAttr()移除了radio的checked属性后,使用attr()重新增加不起作用;
解决:
$(":radio").removeAttr('checked');
$("input:radio").prop('checked','true');
即使用prop()可重新配置上该属性;
注意:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
|