【发布时间】:2013-04-29 09:29:04
【问题描述】:
我正在使用 setAttribute 方法设置一个名为(比如)titleDiv 的自定义属性
HTML 代码:
<div id="Object" titleDiv="blank"></div>
Javascript 代码:
var Object=document.getElementById('Object');
Object.setAttribute("titleDiv","myDiv");
这在 IE 9 以外的所有浏览器中都可以正常工作。 getAttribute 也会发生同样的事情。
我在代码中广泛使用了上述自定义属性,我不应该更改结构。
上面的代码有什么替代方法可以让 IE 理解吗?
谢谢。
【问题讨论】:
-
是什么让您认为 IE9 没有这样做?对我有用,前提是您使用实际的 DOM 元素而不是字面上的
Object: jsbin.com/ujadaj/1 (source)。 -
@BillyMoat:这特别是
class属性,IE8 和更早版本确实存在问题,但幸运的是它通过名为className的属性反映。 -
get/setAttribute 在 IE 中已被破坏多年。使用非标准属性也不是一个好主意(因为您可以使用点表示法可靠地读取和设置标准属性),这就是存在 class 和 data– 属性的原因。但我想在这种情况下你别无选择。
标签: javascript html css internet-explorer-9