JavaScript コードに次の行があります。
if(document.defaultView && document.defaultView.getComputedStyle){
strValue = document.defaultView.getComputedStyle(oElm).getPropertyValue(strCssRule);
} // ...
ノードの CSS 値を取得するには (例: strCssRule = 'color'
)。Firefoxで動作します。静的ページの単純な例でのみ Chrome で動作します。複雑なアプリケーションに統合しようとすると、返されるすべてのフィールドCSSStyleDeclaration
が null になります。
ノードoElem
は jQuery を使用して取得されます ( oElem = $(my_selector).empty().get(0));
)。実際の例と私のアプリケーションの違い (少なくとも私が考えることができる唯一のもの) は、ノードが計算時にまだ DOM に統合されていないことです (まだ完全な HTML を生成しています)。
HTML delectation で CSS を明示的に設定しても (たとえば、ノードは です<div style="width:100px;"></div>
)、CSSStyleDeclaration オブジェクトはまだ空です。
編集: CBroe で述べたように、問題は要素がまだ DOM にリンクされていないことです。このケースがどのように処理されるかは、ブラウザの実装に依存すると思います。firefox がどのように機能するようになったのかはわかりませんが、何か他のものを見つけるでしょう。