次の例では、DOMAPIを使用してスタイル属性の値を取得する方法を示します。
<!DOCTYPE html>
...
<div id="myid" style="foo"></div>
...
document.getElementById('myid').getAttribute('style')
FirefoxとGoogleChromeでは「foo」を返しますが、IE(9)ではnullを返します
次の例では、DOMAPIを使用してスタイル属性の値を取得する方法を示します。
<!DOCTYPE html>
...
<div id="myid" style="foo"></div>
...
document.getElementById('myid').getAttribute('style')
FirefoxとGoogleChromeでは「foo」を返しますが、IE(9)ではnullを返します
IEはスタイルシートを解析し、構文的に不正な形式の部分を破棄します。たとえばでテストすると<div id="myid" style="color: #003; foo; line-height: 1.3">
、IE9標準モードはを返しますcolor: rgb(0, 0, 51); line-height: 1.3;
。そのため、色の表記を変換し、奇形の部分を破棄しました。あなたの場合、悪い部分を取り除いた後、CSSコードは空になります。
古いバージョンのIEは動作が異なり、QuirksモードのIE9も同様です。原則として、style
HTML属性を読み取ることは避け、style
代わりにDOMプロパティを読み取ってください。違いについては、質問「javascriptを使用して属性値にアクセスするさまざまな方法」を参照してください。