0

IE8 で jQuery を使用して、クラス (例<div class="className"></div>) で div を作成しています。backgroundこのクラスには、 、 、 などのいくつかの CSS スタイルがmarginありborderます。IE9 (IE8 として実行) で JavaScript をデバッグし、要素を調べると、CSS の値ではなく、すべての currentStyles にデフォルト値が含まれます。そのため、 を取得しようとすると、CSS によって に設定されていても、marginに設定されているように返されます。auto10px

スクリプトにエラーはなく、Firefox、Chrome、および IE9 で期待どおりに動作します。何かご意見は?

4

2 に答える 2

0

上記のコメント (元の質問の下) の助けを借りて、divCSS プロパティを取得しようとしたときに が実際には DOM にないことがわかりました。そのため、要素のデフォルト CSS のみが表示されていました。 . 確かに、IE9、Firefox、および Chrome はすべてこれを問題なく処理しましたが、要素が最初に DOM にある必要があることは理にかなっています。

回避策として、と同じクラスで DOM にappend()隠します。次に、必要な CSS プロパティ/値を取得して、. 理想的ではありませんが、これは当面は許容できるソリューションです。inputdivinput

于 2012-03-26T13:53:51.950 に答える
0

開発者ツールには更新ボタンがあります。これにより、ページをリロードせずに DOM ツリーがリロードされます。

JavaScript で DOM の変更を行った場合、更新ボタンをクリックしない限り、それらは MSIE 開発者ツールに反映されません。下の画像を参照してください。

MSIE 開発者ツールの更新ボタン

于 2012-03-22T16:52:59.847 に答える