1

次の例では、DOMAPIを使用してスタイル属性の値を取得する方法を示します。

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

document.getElementById('myid').getAttribute('style')FirefoxとGoogleChromeでは「foo」を返しますが、IE(9)ではnullを返します

4

1 に答える 1

2

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も同様です。原則として、styleHTML属性を読み取ることは避け、style代わりにDOMプロパティを読み取ってください。違いについては、質問「javascriptを使用して属性値にアクセスするさまざまな方法」を参照してください。

于 2012-07-16T12:13:31.140 に答える