1

我在页面顶部有一行,

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

如何通过 jQuery 或 javascript 删除它?

这样累,但不工作

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

4 回答 4

2

jQuery 按属性选择的格式如下:

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

然后你需要禁用它:

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

文档

于 2013-05-23T01:20:04.213 回答
2

在大多数现代浏览器中,您可以遍历样式表列表并禁用您想要的样式表:

var toRemove = 'style/style.css';

[].forEach.call(document.styleSheets, function(styleSheet) {
    if (styleSheet.href && styleSheet.href.substr(-toRemove.length) === toRemove) {
        styleSheet.disabled = true;
    }
});
于 2013-05-23T02:27:37.193 回答
0

这个 javascript 片段有效

如何通过 javascript 或 jQuery 删除 css rel

document.styleSheets[0].disabled = true;
于 2013-05-23T02:14:55.677 回答
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,.className在纯 JavaScript 或.removeClass()jQuery 中使用。

这样,您可以在一个连接和缩小的 CSS 文件中拥有许多“样式”,可以独立激活和停用。

于 2013-05-23T01:25:28.593 回答