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 相关文章推荐
表单提交时自动复制内容到剪贴板的js代码
Mar 16 Javascript
Extjs入门之动态加载树代码
Apr 09 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
JS清空多文本框、文本域示例代码
Feb 24 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
JavaScript类型系统之基本数据类型与包装类型
Jan 06 Javascript
vue 中动态绑定class 和 style的方法代码详解
Jun 01 Javascript
详解如何使用node.js的开发框架express创建一个web应用
Dec 20 Javascript
通过实例讲解JS如何防抖动
Jun 15 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
Aug 13 Javascript
vue-video-player 断点续播的实现
Feb 01 Vue.js
关于better-scroll插件的无法滑动bug(2021通过插件解决)
Mar 01 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 正则匹配函数体
2009/08/25 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
vue实现动态按钮功能
2019/05/13 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
使用python生成目录树
2018/03/29 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
Python while循环使用else语句代码实例
2020/02/07 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
实习老师个人总结的自我评价
2013/09/28 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
鉴史问廉观后感
2015/06/10 职场文书
请病假条范文
2015/08/17 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS
golang生成vcf通讯录格式文件详情
2022/03/25 Golang