[英]Disable all stylesheets inside an element using Javascript
如何使用 StyleSheet.disabled 禁用特定元素内的所有外部 CSS? 不确定我是否只是缺少正确的语法。 如果只能在文档级别实现,有什么方法可以实现这样的吗? 谢谢你。
HTML
<div id="container">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet">
<i class="material-icons">edit</i>
<button class="btn btn-primary">Bootstrap</button>
</div>
JS
let el = document.querySelectorAll('#container [rel="stylesheet"]');
for (let i = 0; i < el.length; i++) {
el.styleSheet[i].disabled = true;
}
这是一个使用文档作为默认选择器的工作示例: JsFiddle
我认为您在代码中犯了一个错字:
let el = document.querySelectorAll('#container [rel="stylesheet"]');
for (let i = 0; i < el.length; i++) {
el[i].disabled = true;
}
试试这个链接: https://jsfiddle.net/p0v3rdac/
您可以将href
属性替换为自定义data-href
属性(作为占位符):
let elementStylesheets = [... document.querySelectorAll('#container [rel="stylesheet"]')];
for (elementStylesheet of elementStylesheets) {
elementStylesheet.dataset.href = elementStylesheet.getAttribute('href');
elementStylesheet.removeAttribute('href');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.