为什么 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.