对旧版浏览器使用 HTML5 的“data-*”属性有啥问题吗?
Posted
技术标签:
【中文标题】对旧版浏览器使用 HTML5 的“data-*”属性有啥问题吗?【英文标题】:Is there any problem with using HTML5's "data-*" attributes for older browsers?对旧版浏览器使用 HTML5 的“data-*”属性有什么问题吗? 【发布时间】:2011-04-26 20:25:30 【问题描述】:我想将一些自定义数据与一些 html 节点相关联。我打算使用新的 HTML5 样式的 'data-*' 属性。例如:<tr class="foo" data-typeid="7">…
,然后我将通过读取 $(node).attr("data-typeid")
的值来选择此 HTML 节点并显示/隐藏它等。
但是,此网页也需要与旧版浏览器一起使用。我没有将 data-* 属性用作特殊属性,但我想知道旧版浏览器是否会忽略、擦除或使该属性无法访问,因为它不是有效的 HTML4。
【问题讨论】:
Do HTML5 custom data attributes “work” in IE 6?的可能重复 【参考方案1】:Internet Explorer 和 Microsoft 添加了几个不是有效 HTML4 的自定义属性。浏览器不会根据规范检查元素属性,您可以根据需要将属性命名为 roryscoolinfo="hello"
(尽管您不应该这样做)。
Dojo 工具包添加了它的自定义 dojo*
属性。
今天可以使用data-
,带有 HTML5 文档类型。
【讨论】:
【参考方案2】:确实没有,它们在 HTML4 中当然不是 100% 正确/有效的用法......但它们也不会引起问题,所以它们仍然是一个很棒的解决“我需要一个属性”问题的方法。
如果有帮助,我在支持 IE6 的同时使用了这些,并且到目前为止问题为零,而且我不记得有一个 SO 问题报告过任何问题。
【讨论】:
HTML5 旨在尽可能与现有浏览器行为兼容。数据属性是不错的地方之一,例如 HTML5 文档类型,似乎没有太多问题。 在 IE 8 及以下版本中使用 XHTML 1.0 Transitional doctype 似乎无法将数据类型与 jquery 一起使用。以上是关于对旧版浏览器使用 HTML5 的“data-*”属性有啥问题吗?的主要内容,如果未能解决你的问题,请参考以下文章
html Internet Explorer支持使用条件注释。以下代码段在旧版Internet Explorer中添加了HTML5和CSS3支持
html Internet Explorer支持使用条件注释。以下代码段在旧版Internet Explorer中添加了HTML5和CSS3支持
html Internet Explorer支持使用条件注释。以下代码段在旧版Internet Explorer中添加了HTML5和CSS3支持
html Internet Explorer支持使用条件注释。以下代码段在旧版Internet Explorer中添加了HTML5和CSS3支持
html Internet Explorer支持使用条件注释。以下代码段在旧版Internet Explorer中添加了HTML5和CSS3支持