一、data-*属性简介
MDN是这样说的:
data-*全局属性是一类被称为自定义数据属性的属性,它赋予我们在所有 HTML 元素上嵌入自定义数据属性的能力。
简言之,就是可以传入自己定义的数据,因为之前HTML没有这个功能,用的话也是放在css里,但是这不是css该做的事,所以HTML5中加入了这个属性,就能把自定义的变量放在data-*
二、 data-*的使用
在HTML里边用data-变量名使用,如下:
<div class="child" data-name="小红" data-age="18"></div>
在js里有两种获取方法:
(1)dataset:所有放在data-*中的属性都在dataset中
var dataset = document.getElementsByClassName('child')[0].dataset;
(2)getAttribute()方法获取
document.getElementsByClassName('child')[0].getAttribute('data-name');
setAttribute()修改属性值:
var dom = document.getElementsByClassName('child')[0];
console.log(dom.dataset);
dom.setAttribute('data-name', '小明')
console.log(dom.dataset);
css中使用:
使用属性选择器
.child[data-age='18'] {
color: red;
}