Jquery中attr和prop属性

今天着手demo的时候发现了一个奇怪的问题,将Jquery的版本更新到最高版本的时候(之前还是1.3)全选框出现了怪异的问题,就是第一次点击全选OK,然后点击取消OK,当我第二次点击全选的时候功能失效了

:(

代码小样:

1
2
3
4
5
$('.check-all').click(
 function(){
  $(this).parent().parent().parent().parent().find("input[type='checkbox']").attr('checked', $(this).is(':checked'));   
  }
);

后来找到Jquery的官方说明,发现在1.6后新增了prop,后来释然了
修改后如下

1
2
3
4
5
$('.check-all').click(
 function(){
  $("#tbody :checkbox").prop('checked', $(this).is(':checked'));   
 }
);

表面上看起来attr和prop没有什么区别,但是细微地方和不同的浏览器还是会有差异的,这里附带官方的建议,方便留意:

attrprop

发表评论

电子邮件地址不会被公开。 必填项已用*标注