Javascript 旧浏览器是否支持HTML5数据属性?
我将一些自定义数据存储在HTML5数据属性中,用于Jquery处理。“自定义数据”属性在旧浏览器中可用吗?请查看此网站以了解HTML5中的浏览器兼容性Javascript 旧浏览器是否支持HTML5数据属性?,javascript,jquery,html,cross-browser,Javascript,Jquery,Html,Cross Browser,我将一些自定义数据存储在HTML5数据属性中,用于Jquery处理。“自定义数据”属性在旧浏览器中可用吗?请查看此网站以了解HTML5中的浏览器兼容性 属性本身将在所有浏览器中工作。毕竟这只是一个属性。这将“起作用”,因为属性将存在于DOM中: <div random-attribute="hello"></div> <!-- invalid, but "works" --> <div data-random="hello"></div>
属性本身将在所有浏览器中工作。毕竟这只是一个属性。这将“起作用”,因为属性将存在于DOM中:
<div random-attribute="hello"></div> <!-- invalid, but "works" -->
<div data-random="hello"></div> <!-- valid (in browsers with HTML5 support) -->
HTML5
datalist
属性在较旧的浏览器中不可用(但可以很容易地进行多填充)。当然,您可以始终使用标准的getAttribute
方法,并且所有浏览器都可以接受HTML元素上的data xxx
属性(只要您处于HTML模式,而不是xHTML模式,这些属性无效)
但是您的问题似乎更具体地涉及jQuery而非HTML5,对此,答案是“是”——jQuery
.data()
方法在jQuery支持的所有浏览器中都可用。任何支持HTML的东西都可以访问HTML数据属性。因此,通过JQUERY在客户端处理it应该是绝对好的
事实上,我最近不得不为工作中的一个项目做这件事,它一直到ie7都很有效
如果您想通过CSS使用HTML数据属性进行样式设置,那么您需要支持CSS3 selectos的浏览器。它比IE9和一些旧版本的firefox还要低
您可能对此感兴趣:
看看这个可能的副本,这对我很有帮助。谢谢。@bleedCoder-您应该使用最有用答案旁边的绿色勾号图标将该答案标记为“已接受”。这将奖励写下答案的人,也将帮助将来寻找相同问题的其他人找到正确答案。
var random = document.getElementById("x").dataset.random;
// or
var random = document.getElementById("x").getAttribute("data-random");