如何通过javascript或jQuery删除css rel

时间:2013-05-23 01:11:58

标签: javascript jquery

我在页面顶部有一行,

<link rel="stylesheet" href="style/style.css">

如何通过jQuery或javascript删除它?

累了这种方式,但没有工作

$(link['style/style.css']).remove();

4 个答案:

答案 0 :(得分:2)

按属性选择的jQuery采用以下格式:

$('link[href="style/style.css"]');

然后你需要禁用它:

// prop() suggestion from @jahroy
$('link[href="style/style.css"]').prop("disabled", true);

The docs

答案 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;