问问题
537 次
1 回答
2
var test = "http://www.formstack.com/forms/css/3/default.css";
for (var i = 0; i < document.styleSheets.length; i++) {
var sheet = document.styleSheets.item(i);
if (sheet.href.indexOf(test) !== -1) sheet.disabled = true;
}
这将起作用,但是它效率低下(仍然),因为它在找到匹配后会继续检查 CSSStyleSheetList 中的其他 CSSStyleSheets。
如果您不关心浏览器支持,您可以使用 Array.prototype.some 来减少操作数
[].some.call(document.styleSheets, function(sheet) {
return sheet.disabled = sheet.href.indexOf(test) !== -1;
});
请参阅:在 MDN 上排列一些方法
编辑:
对于性能和传统支持的混合,以下解决方案将起作用:
var test = "http://www.formstack.com/forms/css/3/default.css";
for (var i = 0; i < document.styleSheets.length; i++) {
var sheet = document.styleSheets.item(i);
if (sheet.href.indexOf(test) !== -1) {
sheet.disabled = true;
break;
}
}
于 2013-04-25T21:01:41.250 回答