一尘不染

如何从当前页面动态删除样式表

css

有没有办法从页面中动态删除当前样式表?

例如,如果页面包含:

<link rel="stylesheet" type="text/css" href="http://..." />

…是否有办法在以后用JavaScript禁用它?使用jQuery的额外要点。


阅读 307

收藏
2020-05-16

共1个答案

一尘不染

好吧,假设您可以使用jQuery作为目标,那么它应该和调用remove()元素一样简单:

$('link[rel=stylesheet]').remove();

这将删除页面上的 所有 外部样式表。如果您知道部分网址,则可以仅删除要查找的网址:

$('link[rel=stylesheet][href~="foo.com"]').remove();

而在Javascript中

这是使用查询选择器和foreach数组全部删除的示例

Array.prototype.forEach.call(document.querySelectorAll('link[rel=stylesheet]'), function(element){
      try{
        element.parentNode.removeChild(element);
      }catch(err){}
    });

//or this is similar
var elements = document.querySelectorAll('link[rel=stylesheet]');
for(var i=0;i<elements.length;i++){
    elements[i].parentNode.removeChild(elements[i]);
}
2020-05-16