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 相关文章推荐
JScript中的&quot;this&quot;关键字使用方式补充材料
Mar 08 Javascript
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
Jun 29 Javascript
JavaScript中的事件处理
Jan 16 Javascript
Javascript图像处理—平滑处理实现原理
Dec 28 Javascript
jquery 简单应用示例总结
Aug 09 Javascript
js中settimeout方法加参数
Feb 28 Javascript
详细分析JavaScript函数定义
Jul 16 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
学习vue.js表单控件绑定操作
Dec 05 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
Dec 14 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
微信小程序地图实现展示线路
Jul 29 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python字符串处理实例详解
2017/05/18 Python
如何基于python实现归一化处理
2020/01/20 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
退伍老兵事迹材料
2014/01/31 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
遗失说明具结保证书
2015/02/26 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL