HTML5 数据属性在旧版浏览器中支持吗?

14
在HTML5的数据属性中存储一些自定义数据以进行Jquery处理。这些自定义数据属性在旧版浏览器中可用吗?

看一下这个链接 http://stackoverflow.com/questions/2815128/what-browsers-are-compatible-with-html5 - Christian Phillips
1
可能是Do HTML5 custom data attributes “work” in IE 6?的重复问题。 - whostolemyhat
4个回答

21

HTML5 datalist 属性在老的浏览器中不可用(尽管可以很容易地进行 polyfill)。当然,您始终可以使用标准的 getAttribute 方法,并且在 HTML 元素上使用 data-xxx 属性会被所有浏览器接受(只要您处于 HTML 模式而不是 xHTML 模式,在后者中它们无效)。

但是,您的问题似乎更具体地涉及 jQuery,对此的答案是——jQuery .data() 方法在所有由 jQuery 支持的浏览器中都可用。


@bleedCoder - 你应该使用绿色的勾选图标来标记最有帮助的答案为“已接受”。这将奖励写下答案的人,并且也有助于未来寻找相同问题的其他人找到正确的答案。 - Spudley

10

这个属性本身在所有浏览器中都有效,毕竟它只是一个属性。这样做“有效”的意思是该属性将存在于DOM中:

<div random-attribute="hello"></div> <!-- invalid, but "works" -->
<div data-random="hello"></div> <!-- valid (in browsers with HTML5 support) -->

元素的本地 dataset 属性在旧版浏览器中无法使用,但 getAttribute 可以:

var random = document.getElementById("x").dataset.random;
// or
var random = document.getElementById("x").getAttribute("data-random");

1

请查看此网站以了解HTML5在浏览器兼容性方面的情况。

html5test.com


0

任何支持HTML的东西都可以访问HTML数据属性。因此,通过JQUERY在客户端处理它应该是完全没问题的。

事实上,最近我在工作中必须为一个项目做这个,一直到ie7都能很好地运行。

如果您想使用HTML数据属性通过CSS进行样式设置,则需要浏览器支持CSS3选择器。这包括IE9以下的所有浏览器和一些旧版本的Firefox。

这可能会对您有所帮助:

HTML5自定义数据属性在IE 6中“有效”吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接