jQuery属性操作与区别

本文主要是说明jQuery 三个属性prop()、attr()、data()的用法与区别
这三个属性都可以用来获取普通的属性,区别:
1.prop()更适用于操作表单属性,attr()更适合操作自定义属性;
2.prop()获取地址是绝对路径,需要解码,prop()不能获取自定义属性。
具体演示如下:

<div title="天气"></div>
    <input type="checkbox" checked="checked">
    <img src="images/01.jpg" alt="">
    <div class="box" data-a = '1'></div>
    <script>
        console.log($('div').prop('title'))  //天气
        console.log($('div').attr('title')) //天气
        console.log($('div').data('title')) // undefined

        console.log($('input').prop('checked'))  //true
        console.log($('input').attr('checked')) //checked
        console.log($('input').data('checked')) // undefined

        console.log($('img').prop('src'))  // 得到乱码,需要解码 file:///D:/%E7%BB%83%E4%B9%A0/02Javascript/%E7%BB%83%E4%B9%A0/11.27jQuery%20%E5%BE%AE%E5%8D%9A%E6%A1%88%E4%BE%8B/images/01.jpg
        console.log($('img').attr('src')) //images/01.jpg
        console.log($('img').data('src')) // undefined

        var a = $('img').prop('src') // 解码过程
        c = encodeURI(a)
        d = decodeURI(decodeURI(c))
        console.log(d)  //prop().html:29 file:///D:/练习/02Javascript/练习/11.27jQuery 微博案例/images/01.jpg

        console.log($('.box').prop('data-a'))  //undefined
        console.log($('.box').attr('data-a')) //1
        console.log($('.box').data('data-a')) // undefined
        
        $('div').data('name', 'zs')  //用data临时存数据,不会改变DOM结构,但是能获取数值
        console.log($('div').data('name'))
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值