1

In the following example, how to get the value of the style attribute using DOM api:

<!DOCTYPE html>
...
<div id="myid" style="foo"></div>
...

document.getElementById('myid').getAttribute('style') returns "foo" on firefox and google chrome but returns null on IE(9)

4

1 回答 1

2

IE 解析样式表并丢弃语法错误的部分。如果您使用 eg 进行测试,<div id="myid" style="color: #003; foo; line-height: 1.3">则 IE 9 标准模式将返回color: rgb(0, 0, 51); line-height: 1.3;。所以它已经转换了颜色符号,并丢弃了格式错误的部分。在您的情况下,CSS 代码在删除坏部分后变为空。

旧版本的 IE 行为不同,IE 9 的 Quirks 模式也是如此。通常,避免读取styleHTML 属性,而改为读取styleDOM 属性。关于差异,请参阅问题使用 javascript 访问属性值的不同方式

于 2012-07-16T12:13:31.140 回答