您的位置:首页 > Web前端 > JQuery

jQuery中prop()方法和attr()方法的区别浅析

2016-08-10 20:45 495 查看
    之前在利用jQuery获取checkbox和radio是否被选中的的时候attr()方法坑了好几次,有时候能获取到值有时候就获取不到(undefined),也怪不得别人,自己学艺不精。其实,获取是否被选中的方法最好的还是利用原生的js直接获取,不过既然遇到了这个问题也就有必要学习一下了。

    jQuery1.6中新加了一个方法prop(),property(属性)的前四个字母,之前一直没用过(也不知道,见识短浅了)。之前只知道只要checkbox选中,则利用attr()方法就可以获取到checked的值(e.attr('checked')),选中时为“checked”,但未选中时就是undefined(好像不太喜欢这个)。

jQuery提供了prop()方法来获取这种属性,使用prop()方法可以统一返回true或false。

    总结一下,什么时候应该用attr(),什么时候应该用prop()呢?

    以下是官方建议:

Attribute/Property.attr().prop()
accesskey 
align 
async
autofocus
checked
class 
contenteditable 
draggable 
href 
id 
label 
location*
multiple
readOnly
rel 
selected
src 
tabindex 
title 
type 
width** 
自己总结就是:

1.添加什么属性名该属性就会生效用prop();

2.是true,false两个属性值的使用prop();

3.其他的就是用attr()吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery