edit は、techfoobarが指摘した問題を解決するためにregexprを使用したテストを追加しました
他の人のために2つの修正されたコードを編集 しますhf :)
指定されたクラスからすべての静的スタイルを取得する方法を探しています。値はしばしば計算されるだけなので、新しい div を追加してそこからすべての可能な値を抽出したくありません...
関連する投稿は次のとおりです。
要素の計算されたスタイルを返し、その要素を疑似クローンするjQuery CSSプラグイン?
jQueryは要素に関連付けられたすべてのCSSスタイルを取得できますか?
http://quirksmode.org/dom/w3c_css.html
これは私がこれまでに思いついたものです:
function getExternalCSS(className) {
var cssText = false;
$.each(document.styleSheets, function(key, value) {
$.each(value.cssRules, function(k, v) {
if(new RegExp(className, "i").test(v.selectorText)) {
cssText = v.cssText;
return false;
}
});
if(cssText !== false) {
return false;
}
});
return cssText;
}
参照するcss:
.someClass {
style1...
}
.someOtherClass {
style2...
}
.myClassToFind {
style3...
}
利用方法:
getExternalCSS(".myClassToFind"); //note the . for class
selectorText は正しく返されますが、if
トリガーされることはありません。私はすでに文字列などに解析しようとしました。何かアイデアはありますか?