【问题标题】:Will HTML 5 data attribute support in old browsers?旧浏览器是否支持 HTML 5 数据属性?
【发布时间】:2013-08-09 23:02:47
【问题描述】:

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

【问题讨论】:

标签: javascript jquery html cross-browser


【解决方案1】:

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

但是你的问题似乎是关于 jQuery 而不是 HTML5,对此,答案是 Yes——jQuery .data() 方法在 jQuery 支持的所有浏览器中都可用。 p>

【讨论】:

  • 这对我很有帮助。谢谢。
  • @bleedCoder - 您应该使用最有帮助的答案旁边的绿色勾号图标将该答案标记为“已接受”。这将奖励写出答案的人,同时也帮助其他在未来寻找相同问题的人找到正确的答案。
【解决方案2】:

该属性本身适用于所有浏览器。毕竟只是一个属性。这将“起作用”,因为该属性将存在于 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");

【讨论】:

    【解决方案3】:

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

    html5test.com

    【讨论】:

      【解决方案4】:

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

      事实上,我最近不得不为工作中的一个项目做这个,它一直有效到 ie7。

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

      您可能对此感兴趣:

      Do HTML5 custom data attributes “work” in IE 6?

      【讨论】:

        猜你喜欢
        • 2016-10-19
        • 1970-01-01
        • 1970-01-01
        • 2011-12-04
        • 2010-10-27
        • 1970-01-01
        • 1970-01-01
        • 2011-12-05
        • 1970-01-01
        相关资源
        最近更新 更多