14

我将一些自定义数据存储在 HTML5 数据属性中以进行 Jquery 处理。旧浏览器中是否可以使用自定义数据属性?

4

4 回答 4

21

HTML5datalist属性在旧版浏览器中不可用(尽管它可以很容易地填充)。当然,您始终可以使用标准getAttribute方法,并且data-xxx所有浏览器都接受 HTML 元素上的属性(只要您处于 HTML 模式而不是 xHTML 无效)

但是您的问题似乎更具体地是关于 jQuery 而不是 HTML5,为此,答案是肯定的——jQuery.data()方法在 jQuery 支持的所有浏览器中都可用。

于 2013-08-08T09:38:30.560 回答
10

该属性本身适用于所有浏览器。毕竟只是一个属性。这将“起作用”,因为该属性将存在于 DOM 中:

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

元素的 nativedataset属性在旧版浏览器中不起作用,但getAttribute会:

var random = document.getElementById("x").dataset.random;
// or
var random = document.getElementById("x").getAttribute("data-random");
于 2013-08-08T09:34:46.920 回答
1

检查此站点以了解 HTML5 中的浏览器兼容性

html5test.com

于 2013-08-08T09:34:15.057 回答
0

任何支持 HTML 的东西都可以访问 HTML 数据属性。所以通过 JQUERY 处理它的客户端应该是绝对没问题的。

事实上,我最近不得不为工作中的一个项目做这个,它一直到 ie7 都是一种享受。

如果您想通过 CSS 使用 HTML 数据属性进行样式设置,那么您需要支持 CSS3 选择器的浏览器。这是 IE9 和一些旧版本的 firefox 之下的任何东西。

您可能会对此感兴趣:

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

于 2013-08-08T09:38:39.900 回答