【发布时间】:2011-10-06 16:20:00
【问题描述】:
我有这个代码...
function disableSheets(){
console.log(document.styleSheets.length);
var c = document.styleSheets.length;
for(var i=0;i<c;i++){
console.log(document.styleSheets[i]);
if(typeof document.styleSheets[i]!=='undefined' && document.styleSheets[i].href.indexOf('stylezone')!=-1){
document.styleSheets[i].disabled=true;
}
}
console.log(document.styleSheets.length);
}
当我在 Firefox/Firebug 中运行它时,它会说:
3
StyleSheet
StyleSheet
StyleSheet
3
当我在 Chrome/开发者工具中运行它时,它会说:
3
CSSStyleSheet
CSSStyleSheet
undefined
1
所以我的问题是:
- 如果第 3 个样式表未定义,为什么会说有 3 个样式表?
- 我是如何在循环结束时丢失 2 个样式表的?
- 第三张纸怎么了?
在我的 HTML 顶部有 3 个 <link>s,链接 3 个样式表,然后立即调用 disableSheets()。
【问题讨论】:
标签: javascript css google-chrome stylesheet