我在页面顶部有一行,
<link rel="stylesheet" href="style/style.css">
如何通过jQuery或javascript删除它?
累了这种方式,但没有工作
$(link['style/style.css']).remove();
答案 0 :(得分:2)
按属性选择的jQuery采用以下格式:
$('link[href="style/style.css"]');
然后你需要禁用它:
// prop() suggestion from @jahroy
$('link[href="style/style.css"]').prop("disabled", true);
答案 1 :(得分:2)
在大多数现代浏览器中,您可以遍历样式表列表并禁用所需的样式:
var toRemove = 'style/style.css';
[].forEach.call(document.styleSheets, function(styleSheet) {
if (styleSheet.href && styleSheet.href.substr(-toRemove.length) === toRemove) {
styleSheet.disabled = true;
}
});
答案 2 :(得分:0)
这不是您问题的直接答案,但它可能是实现您的目标的更好方式:
如果您正在控制样式表,并且想要一种简单的方法来打开和关闭它,那么您可以考虑使用Modernizr使用的相同技巧。而不是在样式表中:
.some-class { color: red }
然后在某些情况下删除整个样式表,您可以:
.style-x .some-class { color: red }
然后在您的HTML或JavaScript中,您可以将“style-x”类添加到 body 标记:
<body class="style-x">
[...]
<div class="some-class">red text</div>
[...]
</body>
在JavaScript中删除样式只是从body标签中删除class style-x,在纯JavaScript中使用.className
或在jQuery中使用.removeClass()
。
通过这种方式,您可以在一个连接和缩小的CSS文件中拥有许多“样式”,可以单独激活和停用。
答案 3 :(得分:0)
此javascript代码段正常工作
how to remove css rel by javascript or jQuery
document.styleSheets[0].disabled = true;