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 相关文章推荐
jQuery实现鼠标移到元素上动态提示消息框效果
Oct 20 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
Dec 27 Javascript
在JS中如何调用JSP中的变量
Jan 22 Javascript
Node.js返回JSONP详解
May 18 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
jQuery动态产生select option下拉列表
Mar 15 Javascript
基于vue.js实现侧边菜单栏
Mar 20 Javascript
利用node.js实现反向代理的方法详解
Jul 24 Javascript
Node解决简单重复问题系列之Excel内容的获取
Jan 02 Javascript
Vue.js实现的表格增加删除demo示例
May 22 Javascript
vue如何解决循环引用组件报错的问题
Sep 22 Javascript
layui实现三级联动效果
Jul 26 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
中东人咖啡哲学
2021/03/03 咖啡文化
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
php 类自动载入的方法
2015/06/03 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
Python基于百度云文字识别API
2018/12/13 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
在线服装零售商:SheIn
2016/07/22 全球购物
工程造价与财务管理专业应届生求职信
2013/10/06 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
请假条应该怎么写?
2019/06/24 职场文书
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
防止web项目中的SQL注入
2021/12/06 MySQL
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
python如何读取和存储dict()与.json格式文件
2022/06/25 Python
Java 多线程并发FutureTask
2022/06/28 Java/Android