jquery 选中checkbox ,第二次不起作用(jquery之attr()&prop())

$("input[type='checkbox']").bind("click", function (e) {
  e=e||window.event;
  o=e.target||e.srcElement;
  if ($(o).attr("class") == "check-all") {
    $("input[type='checkbox'][class='check-one']").prop("checked", o.checked);//attr("checked", o.checked)第二次不起作用
  }
})

 

在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。

关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:

  • 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
  • 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。

posted @ 2015-07-07 16:28  wjl910  阅读(135)  评论(0)    收藏  举报