[易混]attr和prop属性

attr具体用法:

attr(key) : 获取属性key的值 , 属性名key可以自定义
attr(key,value) : 设置一个属性值
attr( {key1:value1,key2:value2} ) : 设置多个属性值,传入的参数是一个json对象{}
removeAttr(key) : 删除对象的key的属性

prop具体用法:

prop(key) : 获取jquery属性名为key的属性值
prop(key,value) : 给jquery对象设置属性名为key,值为value

attr和prop的区别?

答:在jquery1.6版本后,新加了一个方法prop()。

在有的浏览器只要写disabled,checked就实现元素禁用和选中的状态,而有的要写成disabled = "disabled",disabled=’’, checked="checked",比如用attr("disabled")获取input的disabled属性时,选中的时候可以取到值为checked,但没此属性获取到的值就是undefined。
jQuery提供新的方法“prop”来获取这些属性,就是来解决这个问题的,如使用attr获取input的disabled属性时返回"checked"或undefined,现在使用prop方法获取这些属性则统一返回true或false,使返回值更加统一

那么,什么时候使用attr(),什么时候使用prop()?

1、是有true,false两个属性值使用prop(),prop多适用于复选框全选和反选的、下拉框、禁用、单选情况。
2、其他属性操作则使用attr();[]

你可能感兴趣的:([易混]attr和prop属性)