如何在jQuery中引用元素的checked属性?
我试图在jQuery中引用checkbox的checked属性。仅当我在元素的事件处理程序中引用如何在jQuery中引用元素的checked属性?,jquery,Jquery,我试图在jQuery中引用checkbox的checked属性。仅当我在元素的事件处理程序中引用this时,它才会返回: $("#chkACCEPT").click -> alert this.checked // returns true alert $("#chkACCEPT").checked // returns undefined 为什么第二行返回未定义的代码?这看起来太疯狂了。.checked是与javascript对
this
时,它才会返回:
$("#chkACCEPT").click ->
alert this.checked // returns true
alert $("#chkACCEPT").checked // returns undefined
为什么第二行返回未定义的代码?这看起来太疯狂了。
.checked
是与javascript对象关联的属性,而不是jquery对象。要在jquery对象上使用它,您需要将其转换为JS对象,然后使用checked
property
$("#chkACCEPT")[0].checked
正确的方法是:
使用javascript:
$("#chkACCEPT").click(function(){
console.log(this.checked); //return bool value
});
使用Jquery:
$("#chkACCEPT").click(function(){
console.log($(this).is(':checked'));//return bool value
});
这是因为
jQuery
对象没有.checked
属性,但是纯DOM
对象有
因此,如果要使用.checked
,可以使用this
,或者从jQuery
中提取本机DOM
对象:
alert(this.checked) or alert ($("#chkACCEPT")[0].checked)
或使用jQuery,使用
$(this).prop('checked'); // $("#chkACCEPT").prop('checked');