为什么 jQuery 为选中的复选框抛出 undefined 属性 ?
Why jQuery throwing undefined for checkbox checked property ?
以下代码在复选框的 onchange 属性 中运行:
onchange="if(this.checked)$('#row_date').show();else $('#row_date').hide();"
但是jquery
alert($('#apply_range').checked) // throw undefined, either checked or unchecked
不工作。
checked
是 DOMElement 的 属性,而不是 jQuery 对象。要从 jQuery 对象中获取 属性,请使用 prop()
:
console.log($('#apply_range').prop('checked'));
或者您可以像这样直接访问 jQuery 对象中的 DOMElement:
console.log($('#apply_range')[0].checked);
// or
console.log($('#apply_range').get(0).checked);
您必须使用 $('#apply_range').is(":checked")
或直接访问 DOM 元素:$('#apply_range')[0].checked
.
以下代码在复选框的 onchange 属性 中运行:
onchange="if(this.checked)$('#row_date').show();else $('#row_date').hide();"
但是jquery
alert($('#apply_range').checked) // throw undefined, either checked or unchecked
不工作。
checked
是 DOMElement 的 属性,而不是 jQuery 对象。要从 jQuery 对象中获取 属性,请使用 prop()
:
console.log($('#apply_range').prop('checked'));
或者您可以像这样直接访问 jQuery 对象中的 DOMElement:
console.log($('#apply_range')[0].checked);
// or
console.log($('#apply_range').get(0).checked);
您必须使用 $('#apply_range').is(":checked")
或直接访问 DOM 元素:$('#apply_range')[0].checked
.