`
linhui_dragon
  • 浏览: 149551 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

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

 
阅读更多
jquery中prop()方法和attr()方法的区别

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

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

大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。

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

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


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

    Attribute/Property          .attr()            .prop()
             accesskey                     √
                 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() )     √



链接:http://www.candoudou.com/archives/161
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics