【发布时间】:2013-08-09 23:02:47
【问题描述】:
我将一些自定义数据存储在 HTML5 数据属性中以进行 Jquery 处理。自定义数据属性在旧版浏览器中是否可用?
【问题讨论】:
标签: javascript jquery html cross-browser
我将一些自定义数据存储在 HTML5 数据属性中以进行 Jquery 处理。自定义数据属性在旧版浏览器中是否可用?
【问题讨论】:
标签: javascript jquery html cross-browser
HTML5 datalist 属性在旧版浏览器中不可用(尽管它可以很容易地填充)。当然,您始终可以使用标准的 getAttribute 方法,并且所有浏览器都接受 HTML 元素上的 data-xxx 属性(只要您处于 HTML 模式而不是 xHTML 无效)
但是你的问题似乎是关于 jQuery 而不是 HTML5,对此,答案是 Yes——jQuery .data() 方法在 jQuery 支持的所有浏览器中都可用。 p>
【讨论】:
该属性本身适用于所有浏览器。毕竟只是一个属性。这将“起作用”,因为该属性将存在于 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");
【讨论】:
检查此站点以了解 HTML5 中的浏览器兼容性
【讨论】:
任何支持 HTML 的东西都可以访问 HTML 数据属性。因此,通过 JQUERY 在客户端处理它应该是绝对没问题的。
事实上,我最近不得不为工作中的一个项目做这个,它一直有效到 ie7。
如果您想通过 CSS 使用 HTML 数据属性进行样式设置,那么您需要支持 CSS3 选择器的浏览器。这是 IE9 和一些旧版本的 firefox 之下的任何东西。
您可能对此感兴趣:
【讨论】: