jquery中prop()方法和attr()方法的区别

jquery1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值。 jquery

官方例举的例子感受和attr()差很少,也不知道有什么区别,既然有了prop()这个新方法,不可能没用吧,那何时该用attr(),何时该用prop()呢? 浏览器

你们都知道有的浏览器只要写disabled,checked就能够了,而有的要写成disabled = "disabled",checked="checked",好比用attr("checked")获取checkbox的checked属性时选中的时候能够取到值,值为"checked"但没选中获取值就是undefined。 async

jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,之前咱们使用attr获取checked属性时返回"checked"和"",如今使用prop方法获取属性则统一返回true和false。 spa

那么,何时使用attr(),何时使用prop()?
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其余则使用attr();
项目中jquery升级的时候你们要注意这点! code

如下是官方建议attr(),prop()的使用: ip

Attribute/Property .attr() .prop()
accesskey
align
async
autofocus
checked
class
contenteditable
draggable
href
id
label
location ( i.e. window.location )
multiple
readOnly
rel
selected
src
tabindex
title
type
width ( if needed over .width() )
相关文章
相关标签/搜索