html5 data属性
html5 data属性
html5 data属性HTML5规范里增加了一个自定义data属性,这个自定义data属性的用法非常的简单, 就是你可以往HTML标签上添加任意以 "data-"开头的属性, 这些属性页面上是不显示的,它不会影响到你的页面布局和风格,但它却是可读可写的.
一、html5中data-*属性的定义
1、data-* 属性用于存储页面或应用程序的自定义数据。
2、data-* 属性赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。
3、存储的(自定义)数据能够被页面的 JavaScript 中利用,以创建更好的用户体验。
二、data-* 属性包括两部分
1、属性名不应该包含任何大写字母,并且在前缀 "data-" 之后必须有至少一个字符
2、属性值可以是任意字符串
三、dataset对象的介绍
<li id="day2-meal-expense"
data-drink="coffee"
data-food="sushi"
data-meal="lunch">¥20.12</li>
要想获取某个属性的值,可以像下面这样使用dataset对象
var expenseday2 = document.getElementById('day2-meal-expense');
var typeOfDrink = expenseday2.dataset.drink;
需要注意的是带连字符连接的名称在使用的时候需要命名驼峰化,即大小写组合书写,这与应用元素的style对象类似,dom.style.borderColor
。例如,假设上面的例子中现在有如下data属性,data-meal-time
,则我们要获取相应的值可以使用:
expenseday2.dataset.mealTime
四、获取自定义属性
1、获取时通过dataset对象,使用"."来获取属性,需要去掉data-前缀。
<li id='test' data-age="23">html5 data-*自定义属性 data-age</li>
2、jquery获取
$('#test').data('age');
五、获取带连字符的自定义属性
1、遇到自定义属性中有连字符需要转化为驼峰命名。
<li id='test' data-user-list="user-list">html5 data-*自定义属性data-user-list属性</li>
2、jquey获取
$('#test').data('userList');
六、动态设置data-*自定义属性值
$('#content').data('name','starof');
网页被修改为
<li id="test" data-user-list="user-list" data-name="starof">html5 data-*自定义属性data-user-list属性</li>
七、HTML5使用data-* 要注意的地方
1、data-其后的属性名命名,发现如果为大写字母,则会转为 “-” + “小写字母”
如
DOM.dataset.newAttrHaha 将会转换为属性“data-new-attr-haha”
2、使用setAttribute定义的属性,如果中间包含”-”,转换规则有所不同,中间所有大写字母均转换为小写之母
(1)、DOM.setAttribute("data-newAttr2-abc", "22222") ==>
data-newattr2-abc=”2222”,获取它可以使用getAttribute(‘设定时的名称’)
(2)、DOM.getAttribute(“data-newAttr2-abc”)或是
DOM.dataset.newattr2Abc获取。获取则刚好相反 “-” + “小写”==》“大写”,
如果是“-”+ “数字”,则保持原样不变
3、设置属性时尽量使用setAttribute(“data-xxx”),其中属性命名最好不要有大写的出现,避免出现“-”,推荐使用“char_char”,如:“favo_obj_id”
- html5支持video的视频格式(解决html5中的video标签ios系统中无法播放使用的问题)
- html5 spellcheck属性
- html5表格设计(Html5饼图绘制实现统计图的方法)
- css弹出遮罩层页面不可滑动(Html5页面点击遮罩层背景关闭遮罩层)
- html5底部组件(HTML5 Blob对象的具体使用)
- html5布局(Html5让容器充满屏幕高度或自适应剩余高度的布局实现)
- html语法规范解释(浅析HTML5 Landmark)
- html5长按动画效果(HTML5实现移动端弹幕动画效果)
- 用html5的canvas绘制剪裁图像(Html5 canvas画图白板踩坑)
- html5按钮点击跳转(HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题)
- html5游戏新手引导开发(使用数据结构给女朋友写个Html5走迷宫游戏)
- html5本地存储功能(利用Node实现HTML5离线存储的方法)
- html5怎么滚动屏幕(HTML5 video进入全屏和退出全屏的实现方法)
- HTML5 播放 RTSP 视频的实例代码(HTML5 播放 RTSP 视频的实例代码)
- html5的占位符(html5 冒号分隔符对齐的实现)
- HTML5<q> 与 <blockquote> 的区别
- 毛戈平全国第一柜花落银泰 高端国货迎来 高光 时刻(毛戈平全国第一柜花落银泰)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
热门推荐
- 哪些行为会让面试失败
- zabbix客户端看什么网络监控数据(分布式监控系统之Zabbix主动、被动及web监控的过程详解)
- mysql数据库简单优化(MySQL数据类型优化原则)
- openssl 默认私钥类型(Windows安装Openssl并使用Openss生成公钥私钥)
- mysql创建用户并给用户授权(MySQL 主从复制中创建复制用户的时机探讨)
- dedecms保存文章慢(dedeCms批量修改文章发布时间的方法)
- pythonlist列表讲解(Python中将两个或多个list合成一个list的方法小结)
- mysql 死锁产生的原因和必要条件(Mysql查看死锁与解除死锁的深入讲解)
- discuz apache伪静态(apache中伪静态配置和使用Apache虚拟主机下Discuz伪静态)
- laravel框架如何查询空的信息(Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9