如何在jQuery中引用元素的checked属性?

时间:2016-04-22 13:23:13

标签: jquery

我正在尝试引用jQuery中checkbox的checked属性。只有当我在元素上的事件处理程序中引用this时才会返回:

$("#chkACCEPT").click ->
  alert this.checked                   // returns true
  alert $("#chkACCEPT").checked        // returns undefined

为什么第二行会返回undefined?这看起来很疯狂。

2 个答案:

答案 0 :(得分:2)

那是因为jQuery 对象没有.checked属性,但是纯DOM 对象属于。{/ p>

因此,如果您想使用.checked,可以使用this,或从DOM中提取原生jQuery个对象:

alert(this.checked)   or  alert ($("#chkACCEPT")[0].checked) 

或使用jQuery,使用 .prop()

$(this).prop('checked'); // $("#chkACCEPT").prop('checked');

答案 1 :(得分:1)

.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
});