较旧的浏览器支持
所有现代浏览器都支持 HTML5 中的数据属性,但 HTML5 之前的旧浏览器无法识别数据属性。
但是,在 HTML 规范中,浏览器无法识别的属性必须保持不变,浏览器在呈现页面时将忽略它们。
Web 开发人员利用这一事实来创建非标准属性,这些属性是不属于 HTML 规范的任何属性。例如,下面的行中的 value
属性被视为非标准属性,因为 <img>
标记的规范没有 value
属性,并且它不是全局属性:
<img src="sample.jpg" value="test" />
这意味着虽然旧版浏览器不支持数据属性,但它们仍然有效,你可以使用相同的通用 JavaScript setAttribute
和 getAttribute
方法设置和检索它们,但不能使用仅在现代浏览器中支持的新 dataset
属性。