У меня есть этот код ...
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 / Developer Tools, он говорит:
3
CSSStyleSheet
CSSStyleSheet
undefined
1
Итак, мои вопросы:
- С чего бы это говорить, что есть 3 таблицы стилей, если третий не определен?
- Как я потерял 2 таблицы стилей к концу этого цикла?
- Что случилось с 3-м листом?
В верхней части моего HTML у меня есть 3 <link>
s, связывающие 3 таблицы стилей, а затем сразу после этого я вызываю disableSheets()
.