jQuery中使用data()方法读取HTML5自定义属性data-*实例


Posted in Javascript onApril 11, 2014

主要的方法如下:

.data( key, value )
.data( obj )
.data( key )
.data()

从jQuery 1.4.3起, HTML 5 data- 属性 将自动被引用到jQuery的数据对象中。
例如HTML:
<div data-role = "page" data-last-value = "43" data-hidden = "true" data-options = '{"name":"John"}' > </div>

下面的 jQuery代码都是返回 true 的:
$ ( "div" ) . data ( "role" ) === "page" ;
$ ( "div" ) . data ( "lastValue" ) === 43 ;
$ ( "div" ) . data ( "hidden" ) === true ;
$ ( "div" ) . data ( "options" ) . name === "John" ;

和html5的api不同的是,jQuery会尝试将字符串转换为一个JavaScript值(包括布尔值(booleans),数字(numbers),对象(objects),数组(arrays)和空(null))。如果这样做不会改变数值的表示,那么该值将转换为一个数字(number)。例如,“1E02”和“100.000”是等同于数字(数字值100),但将转换它们会改变他们的表示,所以他们被保留为字符串。字符串值“100”被转换为数字100。

如果数据(data)属性是一个对象(以“{”开始)或数组(以'[‘开始),可以用jQuery.parseJSON 将其解析成字符串;它必须遵循 有效的JSON的语法 ,包括带双引号的属性名称。如果该值不能解析为一个JavaScript值,它将被保留为字符串。

如果想将取出的属性值直接当作字符串的话,请使用 attr() 方法。
data-属性是在第一次使用这个数据属性后不再存取或改变(所有的数据值都在jQuery内部存储)。
调用 .data() 时如果不带参数,将会以 JavaScript 对象的形式获取所有数据。这个对象可以安全的存放在变量中,因为一旦这个新对象被提取出来,之后对元素进行的 .data(obj) 操作,将不会再影响这个对象。另外,直接操作这个对象会比每次调用 .data() 来设置或获取值要快一些。

Javascript 相关文章推荐
封装的原生javascript弹出层代码
Sep 24 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
Dec 21 Javascript
如何获取select下拉框的值(option没有及有value属性)
Nov 08 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
Mar 20 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
小程序组件之仿微信通讯录的实现代码
Sep 12 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
Webpack中loader打包各种文件的方法实例
Sep 03 Javascript
解决layui表格的表头不滚动的问题
Sep 04 Javascript
layui树形菜单动态遍历的例子
Sep 23 Javascript
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
vue的项目如何打包上线
Apr 13 Vue.js
JavaScript使用HTML5的window.postMessage实现跨域通信例子
Apr 11 #Javascript
jQuery实现鼠标经过图片预览大图效果
Apr 10 #Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
Apr 10 #Javascript
js获取视频时长代码
Apr 10 #Javascript
js转化毫秒为时间格式代码
Apr 10 #Javascript
jquery移除、绑定、触发元素事件使用示例详解
Apr 10 #Javascript
jquery序列化表单去除指定元素示例代码
Apr 10 #Javascript
You might like
Zerg兵种介绍
2020/03/14 星际争霸
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
jquery 弹出层实现代码
2009/10/30 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
python根据路径导入模块的方法
2014/09/30 Python
详解Python字符串对象的实现
2015/12/24 Python
python线程、进程和协程详解
2016/07/19 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
测绘工程个人的自我评价
2013/11/10 职场文书
大学生最常用的自我评价
2013/12/07 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
工程部部长岗位职责
2015/02/12 职场文书
Nginx速查手册及常见问题
2022/04/07 Servers