Jquery 从非HTML5浏览器访问数据标记
我在网络领域是个十足的noob,最近我一直在学习jQuery。我关心的是,如果我的浏览器不支持HTML5,我是否能够从HTML中使用jQuery访问“数据””属性?您可以使用Jquery 从非HTML5浏览器访问数据标记,jquery,html,Jquery,Html,我在网络领域是个十足的noob,最近我一直在学习jQuery。我关心的是,如果我的浏览器不支持HTML5,我是否能够从HTML中使用jQuery访问“数据””属性?您可以使用.attr访问它,如下所示: $(your_selector).attr('data-foo'); 是的,您可以使用data属性,即使浏览器不支持HTML5,您也可以使用jQuery访问该属性: var value = $('#foo').data('value'); 如果您有: <div id="foo" dat
.attr
访问它,如下所示:
$(your_selector).attr('data-foo');
是的,您可以使用data属性,即使浏览器不支持HTML5,您也可以使用jQuery访问该属性:
var value = $('#foo').data('value');
如果您有:
<div id="foo" data-value="bar">Baz</div>
Baz
唯一的问题是,如果您的DOCTYPE不是HTML5=>如果您尝试在HTML4.01中使用它,data
属性是无效的,例如,验证程序会哭,但您的站点将正常工作。是。
但是如果您的浏览器不支持HTML5,则
数据
-属性是无效的(X)HTML。但是,使用jQuery访问数据时,这应该不是一个问题。据我所知,您可以在任何浏览器中使用html 5的数据属性,我知道即使是Internet Explorer现在也应该有问题,因为IE忽略了它不知道如何呈现或使用的所有属性。请看这篇文章谢谢你的回答@Alex谢谢responze@xdazzCould,但不应该,特别是在处理数据而不是读取数据时。使用attr()
,数据返回DOM。使用data()
,它是单独保存的。如果您使用attr()
更改一个值,然后使用data()
读取该值,您将得到不同的值。另外,attr()
只处理字符串,data()
将转换为本机类型,如整数。无论你做什么,不要混合使用attr()
和data()
,除非你真的知道自己在做什么。我的经验法则是使用attr()
读取原始DOM元数据或更改DOM属性,使用data()
查看应用程序状态。谢谢@Darin,解释得很好。