看來,JavaScript的只能如果我想準備內聯CSS檢查元素顯示:隱藏與得到它:的Javascript CSS visability
el.style.display
但如何檢查顯示:無放在外部CSS裏面文件?
看來,JavaScript的只能如果我想準備內聯CSS檢查元素顯示:隱藏與得到它:的Javascript CSS visability
el.style.display
但如何檢查顯示:無放在外部CSS裏面文件?
您需要使用getComputedStyle
(與標準兼容的瀏覽器)或currentStyle
(IE)訪問元素的計算樣式。谷歌這些條款的例子或使用一個框架,如jQuery,它提供了包裝。
這可能是倒退的方式,在這種情況下沒有幫助,但無論如何:
如果你想看看什麼在加載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,權威指南(第5版)」
非常感謝你的一個有用的例子! – devjs11 2010-05-12 10:27:57
我確認getComputedStyle和currentStyle是一個完美的工作解決方案。只需檢測IE的條件和多數民衆贊成它。 謝謝! – devjs11 2010-05-12 10:27:15