我想在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
});