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复选框属性教程(HTML5单选框、复选框、下拉菜单、文本域的实现代码)
- html5怎么滚动屏幕(HTML5 video进入全屏和退出全屏的实现方法)
- html5怎么设置左边input(HTML5中input输入框默认提示文字向左向右移动的示例代码)
- html5新的表单元素新的特性(HTML5表单验证特性知识点小结)
- html5的canvas图形绘制技术(详解HTML5 Canvas标签及基本使用)
- html5+css3动画效果图(纯DOM+CSS3实现简单的小风车动画)
- h5打开小程序点允许(html5跳转小程序wx-open-launch-weapp踩坑)
- html5字体倾斜代码(html5响应式开发自动计算fontSize的方法)
- h5页面强制关注微信公众号(Html5页面获取微信公众号的openid的方法)
- html5canvas功能介绍(Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 附转换公式)
- html5页面强制刷新(移动端html5判断是否滚动到底部并且下拉加载)
- html5标签图片(HTML5图片层叠的实现示例)
- Html5新增的标签
- html5 video标签
- html5背景怎么变色(HTML5 背景的显示区域实现)
- uni app开发教程(uniapp+Html5端实现PC端适配)
- 10句英语常用(英语常用900句)
- 爱情能当饭吃吗(爱情能当饭吃吗说说)
- 白T恤穿法(白t恤)
- 你怎么忘了是说先爱我(你怎么忘了如何爱我)
- 做技术难吗(技术难不难)
- 林心如是谁(林心如是谁演的)
热门推荐
- dedecms最新手册(在自己的php页面中使用dedecms标签的代码示例)
- thinkphp静态怎么设置(浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法)
- ASP.NET中Web API的简单实例
- 阿里云数据库高可用方案(阿里云服务器ECS安装MariaDB后无法远程连接数据库的解决方法)
- 腾讯云服务器操作系统怎么选(如何选择腾讯云服务器配置?)
- mysql将字符串转换成整数(MYSQL字符串强转的方法示例)
- python中函数最少能定义几个参数(Python函数中不定长参数的写法)
- laravel 数据库配置信息(Laravel 读取 config 下的数据方法)
- jquery添加商品(jquery实现购物车功能)
- python语言支持多态(Python实现多态、协议和鸭子类型的代码详解)