使用HTML自定义属性时,它无法在Chrome中使用。
我的意思是,假设我有这个HTML:
<div id="my_div" my_attr="1"></div>
如果我尝试在Chrome中使用JavaScript获取此属性,我会 undefined
alert( document.getElementById( "my_div" ).my_attr );
在IE中,它的工作正常。
答案 0 :(得分:12)
通过getAttribute()检索它:
alert(document.getElementById( "my_div" ).getAttribute("my_attr"));
在IE,FF和Chrome上为我工作正常。
答案 1 :(得分:2)
IE是我见过的唯一一个不符合HTML DTD架构的荣誉属性的浏览器。
http://www.webdeveloper.com/forum/showthread.php?t=79429
但是,如果您愿意编写自定义DTD,则可以使其正常工作。
这是一篇很好的文章,可以从这个方向开始:
答案 2 :(得分:0)
您是否宣布您的网页符合XHTML标准?如果你这样做,你不能无所畏惧地向元素添加新属性。我的理解是有一些方法(毕竟,ASP.NET成功了),但你必须发出各种gunk(自定义模式?)。我不熟悉细节。
答案 3 :(得分:0)
对于Safari也有同样的问题,使用getAttribute(..)制造了魔法。它看起来像跨浏览器兼容。这篇文章很http://www.javascriptkit.com/dhtmltutors/customattributes.shtml