我想在jQuery中引用复选框的选中属性。如何引用jQuery中元素的checked属性?
$("#chkACCEPT").click ->
alert this.checked // returns true
alert $("#chkACCEPT").checked // returns undefined
为什么第二行返回undefined
:如果我指的是this
在事件处理中的元素它只会返回?这似乎很疯狂。
我想在jQuery中引用复选框的选中属性。如何引用jQuery中元素的checked属性?
$("#chkACCEPT").click ->
alert this.checked // returns true
alert $("#chkACCEPT").checked // returns undefined
为什么第二行返回undefined
:如果我指的是this
在事件处理中的元素它只会返回?这似乎很疯狂。
那是因为jQuery
对象没有.checked
属性,但纯DOM
对象没有。
所以,如果你想使用.checked
你可以使用this
,或从jQuery
拉动本地DOM
对象:
alert(this.checked) or alert ($("#chkACCEPT")[0].checked)
或者使用jQuery,使用.prop():
$(this).prop('checked'); // $("#chkACCEPT").prop('checked');
.checked
是与javascript对象关联而不是jquery对象的属性。对于使用它的jQuery对象,你需要将其转换为JS对象,然后使用checked
财产
$("#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
});