HTML data-* 属性

data-* 全局属性 是一类被称为自定义数据属性的属性,它赋予我们在所有 HTML 元素上嵌入自定义数据属性的能力,并可以通过脚本在 HTML 与 DOM 表现之间进行专有数据的交换。


实例

使用 data-* 属性来嵌入自定义数据:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script>
  5. function showDetails(animal) {
  6. var animalType = animal.getAttribute("data-animal-type");
  7. alert(animal.innerHTML + "是一种" + animalType + "。");
  8. }
  9. </script>
  10. </head>
  11. <body>
  12. <h1>物种</h1>
  13. <p>点击某个物种来查看其类别:</p>
  14. <ul>
  15. <li onclick="showDetails(this)" id="owl" data-animal-type="鸟类">喜鹊</li>
  16. <li onclick="showDetails(this)" id="salmon" data-animal-type="鱼类">金枪鱼</li>
  17. <li onclick="showDetails(this)" id="tarantula" data-animal-type="蜘蛛">蝇虎</li>
  18. </ul>
  19. </body>
  20. </html>

浏览器支持

属性
data-*YesYesYesYesYes

所有主流浏览器都支持 data-* 属性。


定义和用法

data-* 属性用于存储页面或应用程序的私有自定义数据。

data-* 属性赋予我们在所有 HTML 元素上嵌入自定义 data 属性的能力。

存储的(自定义)数据能够被页面的 JavaScript 中利用,以创建更好的用户体验(不进行 Ajax 调用或服务器端数据库查询)。

data-* 属性包括两部分:

  • 属性名不应该包含任何大写字母,并且在前缀 "data-" 之后必须有至少一个字符

  • 属性值可以是任意字符串

注释:用户代理会完全忽略前缀为 "data-" 的自定义属性。


HTML 4.01 与 HTML5 之间的差异

data-* 属性是 HTML5 中的新属性。


语法

  1. <element data-*="somevalue">
属性值
描述
somevalue规定属性的值(以字符串)。