Skip to content

data-* 自定义属性

HTML 定义自定义属性

所有在元素上以 data- 开头的属性为数据属性。比如说你有一篇文章,而你又想要存储一些不需要显示在浏览器上的额外信息,就可以使用 data 属性,如下:

html
<article
  id="electriccars"
  data-columns="3"
  data-index-number="12314"
  data-parent="cars">
  ...
</article>

JavaScript 访问自定义属性

js
var article = document.querySelector("#electriccars");

article.dataset.columns // "3"
article.dataset.indexNumber // "12314"
article.dataset.parent // "cars"
js
var article = document.querySelector("#electriccars");

article.getAttribute('data-columns') // "3"
article.getAttribute('data-index-number') // "12314"
article.getAttribute('data-parent') // "cars"

CSS 访问自定义属性

data 设定为 HTML 属性,它们同样能被 CSS 访问。访问方式如下:

css
article::before {
  content: attr(data-parent);
}

同样也可以在 CSS 中使用属性选择器根据 data 来改变样式:

css
article[data-columns='3'] {
  width: 300px;
}

基于 MIT 许可发布