Jquery attr方法为已选中的复选框返回undefined

时间:2011-06-29 22:47:32

标签: jquery

上面的复选框

document.getElementById("checkbox1").checked // -> returns true

但是

var byAppr = document.getElementById('checkbox1').value;
$(byAppr).attr('checked') // -> returns undefined

我在firefox 3.6中测试它

2 个答案:

答案 0 :(得分:62)

使用以下其中一项:

  • $('#checkbox1').prop('checked') - 在jQuery 1.6+中,通常是要走的路
  • $('#checkbox1').is(':checked') - 所有jQuery版本,但速度较慢
  • $('#checkbox1').attr('checked') - 不在jQuery 1.6中 - 但在1.6.1和< = 1.5中,不使用

此外,如果您已经直接使用DOM元素(例如,在绑定到字段的事件处理程序中为this),请使用this.checked而不是$(this)以上方法!

答案 1 :(得分:2)

您正在根据价值进行选择。我想你想要:

var byAppr = document.getElementById('checkbox1');
$(byAppr).attr('checked')