JQuery的attr()方法与prop()

一、attr()方法

1、attr()用来获取与设置元素属性
2、语法:$(selector).attr([name]) ; //获取属性值
或 $(selector).attr({[name1:value1]…[nameN:valueN]}) ; //设置多个属性的值

3、示例:$(".contain img").attr({width:“200”,height:“80”});

二、prop方法

1、prop() 方法设置或返回被选元素的属性和值。
2、返回属性的值:
$(selector).prop(property)
当该方法用于返回属性值时,则返回第一个匹配元素的值。
3、设置属性和值:
$(selector).prop(property,value)
当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
4、使用函数设置属性和值:
$(selector).prop(property,function(index,currentvalue))
5、设置多个属性和值:
$(selector).prop({property:value, property:value,…})
6、注意
prop() 方法应该用于检索属性值,例如 DOM 属性(如 tagName、nodeName、defaultChecked)或您自定义的属性。
7、提示:如需检索 HTML 属性,请使用 attr() 方法代替。
8、提示:如需移除属性,请使用 removeProp() 方法。

三、区别与联系

1、在之前的jQuery版本中,都是使用attr(来访问对象的属性,比如取一个图片的alt 属性,就可以这样做$(#img).attr('alt);但是在某些时候,比如访问input的disabled 属性的时候,会有些问题。在有些浏览器里,只要写了disabled属性就可以,有些则要写: disabled=“disabled”。所以,从1.6版开始,jQuery提供新的方法prop0来获取这些属性。

2、使用prop()的时候,返回值是标准属性: true/false ,比如$(#checkbox).prop('disabled),不会返回“disabled”或者“”,只会返回true/false. 当然赋值的时候也是如此。这样,便统一了所有操作,无论是从语法上还是语义上。
3、哪些属性应该用attrO访问,哪些应该用prop()访问呢?
第一个原则:只添加属性名称该属性就会生效应该使用prop();
第二个原则:只存在true/false的属性应该使用prop()。
按照官方说明,如果是设置disabled和checked这些属性,应使用prop0方法,而不是使用attr()方法。

四、全选示例代码

``//全选
            $("#CheckedAll").click(function () {
                // $('input[type="checkbox"]').attr("checked",true);
                $('input[type="checkbox"]').prop("checked",true)
            })`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值