jquery中“data-*”说明

        Jquery是一款封装的很好的javascript框架,极大的简化了javascript编程,并且抑郁学习,缩短了程序员入门的时间。但是任何一门技术都不是随随便便可以精通的,世界上也没有100%完美的产品,更何况是代码呢!程序有些地方的漏洞直到真正用的时候才能体现出来。

        刚开始接触前端的时候,根本不知道“data-*”属性,每次遇到事件传值的时候,返回页面在传值的时候会是一件很麻烦的事情。也只会οnclick=“”来传值。直到2017年小程序开发里面有个“data-*”的设置,获取让我感觉到了传值的快感,才让我深入地去了解jquery的“data-*”属性,在实际运用中也发现了几处比较坑的地方。

data-* 自定义数据属性

        HTML5规定可以为元素添加非标准型的属性,只需添加前缀data-,这些属性可以随意添加,随意命名,目的是为元素提供与渲染无关的信息,或提供语义信息。(来自官方手册)

        虽然官方说添加的这些信息都是无关信息,只是用来提供语义信息,可以被当成属性值来获取,修改,而且是自定义的。这个属性的发明对我来说,带来了花式传值,不在局限于之前只会οnclick=" "传值。

        我们用<li id="getId" data-id="122" data-vice-id="11">获取id</li>为例子来说明问题。

        jquery提供了两种方法来获取 data-* 的值,分别是data()函数和attr()函数。原理都是一样,里面两个参数,一个为 data-*里 * 的内容(即名字),只有第一个参数为获取值;如果需要修改值,则添上第二个参数,写上修改的内容。

        data()函数在一次开发的时候,发现了个问题,那就data()函数修改的值是个“假值”。后来在一个大神的博客里对此深度解析时,data()的值进行修改并不会影响到DOM元素上的data-*属性的改变。data()的本质其实是将一个 “cache” 附加到了对象上,并使用了一个特殊的属性名称。也就是DOM元素上的值没发生变化,仅在cache上作了修改,只是显示的改变,刷新页面清掉缓存后,又变回了原来的属性(实际上没变)。

       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值