前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >data自定义属性在jQuery中的用法

data自定义属性在jQuery中的用法

作者头像
kirin
发布2021-01-14 11:47:47
2.9K0
发布2021-01-14 11:47:47
举报
文章被收录于专栏:Kirin博客

(1)如果在HTML文档中设置的data-自定义属性的单个字符串的名称的属性中若有大写值,在js文件中获取时只能用小写的形式获取。如:

HTML中data-Role,获取当时为$(node).data(“role”);

(2)如果在HTML中设置data-role和data-Role是一样的,html属性不区分大小写。然后我们从验证结果中可以看出,js只会找到第一个与其匹配就直接返回。

(3)如果用js来设置data属性,那么如果你定义的是大写的格式,则访问也必须是大写的形式。

$(“.test”).data(“UP”,123); console.log($(“.test”).data(“UP”));//返回123 console.log($(“.test”).data(“up”));//返回undefined

(4)如果我们就是想要data-Role属性,则可以使用第三种用法:

$(“.test”).data(“Role”,2); console.log($(“.test”).data(“Role”));//输出会返回2

实验代码如下:

代码语言:javascript
复制
  1. <body>
  2. <div class=“test” data-role=“1” data-Role=“2” data-then-value=“3” data-options=‘{“name” : “john”}’></div>
  3. </body>
  4. </html>
  5. <script src=“jquery-1.11.3.js”></script>
  6. <script>
  7. $(function() {
  8. console.log($(“.test”).data(“role”));
  9. console.log($(“.test”).data(“Role”));
  10. console.log($(“.test”).data(“thenValue”));
  11. console.log($(“.test”).data(“thenvalue”));
  12. console.log($(“.test”).data(“options”));
  13. $(“.test”).data(“UP”,123);
  14. console.log($(“.test”).data(“UP”));
  15. console.log($(“.test”).data(“up”));
  16. </script>
代码语言:javascript
复制

最后讲一下data()和attr()的区别:

(1) 是否需要传参:

data() 可以不传入参数,这使获得的是一个js对象,就算你在html中没有设置任何data自定义属性时,获得的也是一个对象。

而attr()必须要传入参数。

console.log($(“.test”).attr(“data-role”));//输出为2,设置了data-role=”2″

如果不设置参数就会报错:

(2)获取得到的数据的类型不同。

data获取到的是对应设置的类型值, attr方法获取得到的数据类型是字符串(String)型。

(3)对于data方式获取到的值,若我们用一个对象来接收它,那么就可以直接操作这个对象(设置值或获取值),但是attr方式获取的值却不能。

(4)data-attribute属性会在页面初始化的时候放到jQuery对象中,被缓存起来,而attr方法却不会。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档