为什么这个简单的if语句总是说该框是未选中的?
$("#x").prop('checked',true);
//$("#x").prop('checked',false);
if ($("#x").checked) {
alert("Checbox is checked");
} else {
alert("Checkbox is not checked");
}
答案 0 :(得分:2)
.checked
不是jquery属性,而是DOM元素属性。
您必须使用.is(':checked')
或.prop('checked')
$("#x").prop('checked',true);
//$("#x").prop('checked',false);
if ($("#x").is(':checked')) {
alert("Checbox is checked");
} else {
alert("Checkbox is not checked");
}
答案 1 :(得分:1)
我相信jQuery你可以使用:checked
选择器,但在你的情况下,我只会使用原生。从你的代码看起来是你使用本机和jQuery的混合。我不确定它是否正确。
试试这个:
var x = document.getElementById('x');
x.setAttribute('checked', 'checked');
if (x.checked) {
// Checkbox is checked
} else {
// Checkbox is not checked
}
答案 2 :(得分:1)
checked
是DOM元素属性,因此在DOM元素上使用它:
$("#x")[0].checked
否则使用:
$("#x").is(':checked')
答案 3 :(得分:-2)
这是我的答案,经过测试:
$("#x").attr('checked',true);
//$("#x").prop('checked',false);
if ($("#x").attr("checked")) {
alert("Checbox is checked");
} else {
alert("Checkbox is not checked");
}