当我只知道部分网址时,如何删除样式表?

时间:2015-05-17 20:48:51

标签: javascript jquery css

我试图使用JS / jquery删除css样式表。

我知道它会出现在' head'元素并包含文本:civicrm.css但我不知道网址的其余部分。

是这样的吗?:

if $("head:contains('civicrm.css')") {

remove the entire link it is part of.

}

目前我正在这样做:

('link[rel=stylesheet][href~="/thelinkaddress/civicrm.css?r=vrigl"]').remove()

但最后几封信经常改变。

4 个答案:

答案 0 :(得分:3)



// grab all <link />
var stylesheets = document.getElementsByTagName('link');
for (var s = 0; s < stylesheets.length; s++){
  var stylesheet = stylesheets[s];
  // determine if it contains /bootstrap.min.css.css
  if (stylesheet.href.indexOf('/bootstrap.min.css') > -1){
    // remove element
    stylesheet.parentNode.removeChild(stylesheet);
  }
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css?cacheBuster=123456" rel="stylesheet">

<div class="well">
  <p>I'm in a well.</p>
</div>
&#13;
&#13;
&#13;

jQuery版本:

&#13;
&#13;
$('link[href*="/bootstrap.min.css"]').remove();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css?cacheBuster=abc123" rel="stylesheet">

<div class="well">
  <p>I'm in a well.</p>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

var str = 'civicrm.css';
$("link[href*='"+ str +"']").remove();

// another way

$('link').each(function () {
    if ($(this).attr('href').indexOf(str) > -1) {
        $(this).remove();
    }
});

<强> http://jsfiddle.net/japbjrzc/3/

答案 2 :(得分:0)

w3schools对〜= css属性选择器说:

  

[attribute~ = value]选择器用于选择具有包含指定单词的属性值的元素。

所以你只需删除版本控制字符串

('link[rel=stylesheet][href~="/thelinkaddress/civicrm.css"]').remove()

试试=)

答案 3 :(得分:0)

您可以使用 Attribute Contains Selector

&#13;
&#13;
$( '[rel="stylesheet"][href*="civicrm.css"]' ).remove( );
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div rel="stylesheet" href="test.css"> test.css </div>
<div rel="stylesheet" href="civicrm.css"> civicrm.css </div>
<div rel="stylesheet" href="/thelinkaddress/civicrm.css?r=vrigl"> /thelinkaddress/civicrm.css?r=vrigl </div>
&#13;
&#13;
&#13;

为了演示,我使用div代替link