HTML5 data-* 自定义属性
2017-10-18 17:50
357 查看
HTML5 data-* 自定义属性
在HTML5中添加了data-的方式来自定义属性,所谓data-实际上就是data-前缀加上自定义的属性名,使用这样的结构可以进行数据存放。使用data-*可以解决自定义属性混乱无管理的现状。
读写方式
data-*有两种设置方式,可以直接在HTML元素标签上书写。
其中的data-age就是一种自定义属性,当然我们也可以通过JavaScript来对其进行操作,HTML5中元素都会有一个dataset的属性,这是一个DOMStringMap类型的键值对集合
这样就为div添加了一个data-my的自定义属性,使用JavaScript操作dataset有两个需要注意的地方
我们在添加或读取属性的时候需要去掉前缀data-*,像上面的例子我们没有使用test.dataset.data-my = ‘Byron’;的形式。
如果属性名称中还包含连字符(-),需要转成驼峰命名方式,但如果在CSS中使用选择器,我们需要使用连字符格式。
getAttribute/setAttribute
getAttribute/setAttribute可以操作所有的dataset内容,dataset内容只是attribute的一个子集,特殊就特殊在命名上了,但是dataset内只有带有data-前缀的属性(没有age=25那个)。
那么为什么我们还要用data-*呢,一个最大的好处是我们可以把所有自定义属性在dataset对象中统一管理,遍历啊神马的都哦很方便,而不至于零零散散了,所以用用还是不错的。
浏览器兼容性
比较不好的消息就是data-*的浏览器兼容性情况十分不乐观
在HTML5中添加了data-的方式来自定义属性,所谓data-实际上就是data-前缀加上自定义的属性名,使用这样的结构可以进行数据存放。使用data-*可以解决自定义属性混乱无管理的现状。
读写方式
data-*有两种设置方式,可以直接在HTML元素标签上书写。
<div id="test" data-age="24"> Click Here </div>
其中的data-age就是一种自定义属性,当然我们也可以通过JavaScript来对其进行操作,HTML5中元素都会有一个dataset的属性,这是一个DOMStringMap类型的键值对集合
var test = document.getElementById('test'); test.dataset.my = 'Byron';
这样就为div添加了一个data-my的自定义属性,使用JavaScript操作dataset有两个需要注意的地方
我们在添加或读取属性的时候需要去掉前缀data-*,像上面的例子我们没有使用test.dataset.data-my = ‘Byron’;的形式。
如果属性名称中还包含连字符(-),需要转成驼峰命名方式,但如果在CSS中使用选择器,我们需要使用连字符格式。
<style type="text/css"> [data-birth-date] { background-color: #0f0; width:100px; margin:20px; } </style>
getAttribute/setAttribute
getAttribute/setAttribute可以操作所有的dataset内容,dataset内容只是attribute的一个子集,特殊就特殊在命名上了,但是dataset内只有带有data-前缀的属性(没有age=25那个)。
那么为什么我们还要用data-*呢,一个最大的好处是我们可以把所有自定义属性在dataset对象中统一管理,遍历啊神马的都哦很方便,而不至于零零散散了,所以用用还是不错的。
浏览器兼容性
比较不好的消息就是data-*的浏览器兼容性情况十分不乐观
相关文章推荐
- html5的自定义data-*属性和jquery的data()方法的使用示例-属性-data-方法
- html5的自定义data-*属性和jquery的data()方法的使用示例
- 转载 HTML5 data-* 自定义属性
- HTML5 data-* 自定义属性
- 浅析Html5 data-*自定义属性
- HTML5 data-* 自定义属性
- HTML5中自定义的data-*属性使用和js/jquery的data()方法操作
- HTML5自定义属性之data-index
- HTML5 data-* 自定义属性和 element.dataset
- jQuery中使用data()方法读取HTML5自定义属性data-*实例
- HTML5 data-* 自定义属性
- HTML5之新特性(选择器、class列表属性、JSON新方法、data自定义数据、延迟加载JS)
- html5的自定义data-*属性和jquery的data()方法的使用
- HTML5 的data-* 自定义属性
- HTML5 data-* 自定义属性
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5的自定义属性data-* 的用法解析
- html5的自定义data-*属性和jquery的data()方法的使用示例
- html5的自定义data-*属性和jquery的data()方法的使用示例
- HTML5 data-* 自定义属性