编辑 添加了一个带有 regexpr 的测试来解决 techfoobar 指出的问题
为其他人编辑 2 个 更正的代码 hf :)
我正在寻找一种从指定类中获取所有静态样式的方法。我不想附加一个新的 div 并从中提取所有可能的值,因为值通常只是计算出来的......
以下是一些相关的帖子:
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
从未触发。我已经尝试解析为字符串等。有什么想法吗?