首页 > 代码库 > jquery中attr与prop的区别

jquery中attr与prop的区别

先从一个老生常谈的问题说起,使用jquery实现全选全不选。

全选<input type="checkbox" onclick="checkedAlls();" name="checkedAlls" id="checkedAlls"/>
        1<input type="checkbox" name="ckk" />
        2<input type="checkbox" name="ckk" />
//使用这种方式发现全选全不选的功能实现不了,经过alert(checked)发现值为undefined
function
checkedAlls(){
  var checked = $("#checkedAlls").attr("checked"); $(
":checkbox[name=‘ckk‘]").attr("checked" , checked); }
//使用这种方式可以实现全选全不选的功能,经过alert(checked)全选时值为true,不选时为false
function checkedAlls(){
  var checked = $("#checkedAlls").prop("checked"); $(":checkbox[name=‘ckk‘]").prop("checked" , checked); }
 

后来在网上看了几篇文章,有篇文章中说的比较好。

对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。

对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

checked属于checkbox的固有属性,所以要用prop。

jquery中attr与prop的区别