html5 data-* 自定义属性有什么不同。

<li data-animal="fish">Salmon</li> <li animal="fish">Salmon</li> 新出的html5自定义属性和普通的定义属性有什么不同,都是定义属性。

阅读 3.6k
4 个回答

1.规范性
2.有专门的接口dataset

如楼上所说,所以属性的访问方式不同。

<li data-animal="fish" id="hello">Salmon</li>
<li animal="fish" id="hi">Salmon</li>
var hello = document.getElementById("hello");
var hi = document.getElementById("hi");

// 获取id为hello的元素的data-animal属性
console.log(hello.getAttribute("data-animal")); // "fish"
console.log(hello.dataset.animal); // "fish"

// 获取id为hi的元素的animal属性
console.log(hi.getAttribute("animal")); // "fish"

在IDE里面, 有data-前缀的不会报警告.

一个是h5标准支持的,有特定的方法去取,去设置什么的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题