Internet Explorer的样式属性问题

时间:2012-07-16 11:53:02

标签: html internet-explorer dom

在以下示例中,如何使用DOM api获取 style 属性的值:

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

document.getElementById('myid').getAttribute('style')在firefox和google chrome上返回“foo”但在IE上返回null(9)

1 个答案:

答案 0 :(得分:2)

IE解析样式表并丢弃语法错误的部分。如果你用例如<div id="myid" style="color: #003; foo; line-height: 1.3">然后IE 9标准模式返回color: rgb(0, 0, 51); line-height: 1.3;。所以它已经转换了颜色表示法,并且它已经丢弃了畸形部分。在您的情况下,删除坏部分后,CSS代码变空。

IE的旧版本表现不同,在Quirks模式下IE 9也是如此。通常,请避免阅读style HTML属性,而是阅读style DOM属性。关于差异,请参阅问题Different ways of accessing attribute values using javascript