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 相关文章推荐
贴一个在Mozilla中常用的Javascript代码
Jan 09 Javascript
Javascript isArray 数组类型检测函数
Oct 08 Javascript
javascript 四则运算精度修正函数代码
May 31 Javascript
javascript中的作用域scope介绍
Dec 28 Javascript
使用jsonp完美解决跨域问题
Nov 27 Javascript
Javascript中拼接大量字符串的方法
Feb 05 Javascript
jquery图片滚动放大代码分享(2)
Aug 28 Javascript
angular4自定义组件详解
Sep 28 Javascript
vue axios整合使用全攻略
May 24 Javascript
使用webpack4编译并压缩ES6代码的方法示例
Apr 24 Javascript
jQuery实现简单弹幕效果
Nov 28 jQuery
vue2路由方式--嵌套路由实现方法分析
Mar 06 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
ThinkPHP中的关联模型注意点
2014/06/16 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
javascript 继承实现方法
2009/08/26 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
详解vue组件基础
2018/05/04 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
pymongo中group by的操作方法教程
2019/03/22 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
大客户销售经理职责
2013/12/04 职场文书
人事部岗位职责范本
2014/03/05 职场文书
建党伟业观后感
2015/06/01 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书