自定义属性的目的:时为了保存并使用数据,有些数据可以保存到页面而不用保存到数据库
自定义属性获取是通过console.log(div.getAttribute('属性));获取。
但是有些自定义属性很容易引起歧义,不容易判断元素是内置属性还是自定义属性。
H5新增了自定义属性:
1.设置H5自定义属性
H5规定自定义属性 data- 开头做为属性名并赋值
比如 <div data-index="1" ></div>
或使用JS设置
element.getAttribute('data-index',2)
<div getTime = "20" data-index = "2" data-lest-name="ady"></div>
<script type="text/javascript">
var div = document.querySelector('div');
// 输出
console.log(div.getAttribute('getTime'));
// 添加一个自定义的属性
div.setAttribute('data-time',20);
// 获取h5自定义属性可选择
// 1.兼容性较好 element.getAttribute('data-index');
console.log(div.getAttribute('data-index'));
// 2.H5新增 : element.dataset.index 或者 element.dataset['index'] ie11 才开始支持
// 虽然ie已经凉凉了,但是很多网站维护还是能用到的
// dataset 是一个集合里面存放了所有以 data- 开头的自定义属性
console.log(div.dataset.index);
console.log(div.dataset['index']);
// data-lest-name 如果遇到这种自定义属性里面有多个链接的单词,
// 我们获取的时候就采取驼峰命名法 lestName
console.log(div.dataset.lestName);
console.log(div.dataset['lestName']);
</script>
1.兼容性较好 element.getAttribute('data-index'); ----常用,因为兼容性好
多个自定义属性的多个链接的话,我们采用驼峰命名法
dataset - - - 是一个集合,里面存放了所有以 data- 开头的自定义属性