5

MSHTMLを使用してhtml要素のスタイルを取得したいと思います。

私が欲しいのは計算されたスタイルですが、すべてのデフォルト値はありません。(htmlとcssで設定されているもののみ)

MSHTMLには、これまでに見たstyle、currentStyle、runtimeStyleの3種類のスタイルがあります。

styleとruntimeStyleにはインラインスタイルのみがあり、現在のStyleには継承されたスタイルとデフォルトのスタイルを含むすべてがあります。

現在設定されているスタイル(インライン、外部、内部css)を取得する方法はありますが、継承された値とデフォルト値はすべてありませんか?

これを行う方法が必要です。IE開発者ツールバーは、どのスタイルがどこから継承されているかを知っているようです。

4

1 に答える 1

0

デフォルト プロパティはユーザー エージェント CSS を介して設定されるため、完全に正しい言い回しではないインライン、外部および内部 CSS とは対照的に、「デフォルト」および/または継承されたプロパティを除外する場合。

明示的に適用されたものから「デフォルト」プロパティをフィルタリングする1つの方法は、実行時にCSS /インラインスタイルでページにレンダリングされた要素と、外部CSSなしで同じDOM構造でレンダリングされた同じ要素を比較することだと思います。インライン スタイルが削除されました。たぶん、隠されたiframeなどの中にあります。それは理にかなっていますか?

あなたの快適さのレベルにもよりますが、 Firebug Liteのソースを調べると運がいいかもしれません。

于 2012-03-26T04:51:41.663 に答える