似乎javascript只能准备内联css如果我想检查元素是否显示:隐藏得到它:
el.style.display
但是如何检查display:none是否放在外部CSS文件中?
答案 0 :(得分:2)
您需要使用getComputedStyle
(符合标准的浏览器)或currentStyle
(IE)访问元素的计算样式。 Google可以使用这些术语作为示例,也可以使用jQuery等框架来为其提供包装。
答案 1 :(得分:1)
这可能是倒退的方式,在这种情况下没有帮助,但无论如何:
如果要查看已加载的CSS文件中的内容,可以使用var sheets = document.styleSheets;
获取已加载的样式表,并使用sheets[0];
访问第一个样式表
然后,从中获取规则:
var rules = sheets[0].cssRules ? sheets[0].cssRules : sheets[0].rules;
然后循环执行规则以检查它们:
var rule, selector;
for (var idx=0, len=rules.length; idx<len; ++idx) {
rule = rules[idx];
selector = rule.selectorText;
if (!selector) {continue;}
console.log(selector+' => '+ rule.style.cssText);
}
这或多或少直接来自David Flanagan的伟大着作“Javascript,the Definitive Guide(5th ed。)”
答案 2 :(得分:0)
if(el.style.display=='none')
都能正常工作。