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网页制作特殊效果用随机数
May 22 Javascript
经常用的图片在容器中的水平垂直居中实例
Jun 10 Javascript
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
js对数字的格式化使用说明
Jan 12 Javascript
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
JSF中confirm弹出框的用法示例介绍
Jan 07 Javascript
jQuery自定义滚动条完整实例
Jan 08 Javascript
javascript每日必学之条件分支
Feb 17 Javascript
关于jquery form表单序列化的注意事项详解
Aug 01 jQuery
JS设计模式之命令模式概念与用法分析
Feb 06 Javascript
vue实现2048小游戏功能思路详解
May 09 Javascript
详解vue 自定义marquee无缝滚动组件
Apr 09 Javascript
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
PHP反射API示例分享
2016/10/08 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
juqery 学习之四 筛选查找
2010/11/30 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
JS实现简单抖动效果
2017/06/01 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
Python的形参和实参使用方式
2019/12/24 Python
pytorch标签转onehot形式实例
2020/01/02 Python
Django操作session 的方法
2020/03/09 Python
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
JACK & JONES荷兰官网:男士服装和鞋子
2021/03/07 全球购物
什么是会话Bean
2015/05/14 面试题
JAVA软件工程师测试题
2014/07/25 面试题
财务人员个人求职信范文
2013/12/04 职场文书
家庭教育先进个人事迹材料
2014/01/24 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
安全目标责任书
2014/07/22 职场文书
主要领导对照检查材料
2014/08/26 职场文书
导游词范文
2015/02/13 职场文书
结婚司仪主持词
2015/06/29 职场文书
宾馆安全管理制度
2015/08/06 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python