在以下示例中,如何使用DOM api获取 style 属性的值:
<!DOCTYPE html>
...
<div id="myid" style="foo"></div>
...
document.getElementById('myid').getAttribute('style')
在firefox和google chrome上返回“foo”但在IE上返回null(9)
答案 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。