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