2015-05-17 24 views
1

我試圖刪除使用JS/jQuery的CSS樣式表。當我只知道部分網址時,如何刪除樣式表?

我知道它將在'head'元素中,幷包含文本:civicrm.css,但我不知道其餘的url。

是不是有點像?:

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

remove the entire link it is part of. 

} 

目前,我只是在做這樣的:

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

但最後幾個字母經常改變。

回答

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/

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); 
 
    } 
 
}
<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>

jQuery的版本:

$('link[href*="/bootstrap.min.css"]').remove();
<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>

0

W3Schools的說了〜= CSS屬性選擇:

的[屬性〜=值]選擇用於選擇與含有指定詞的屬性值的元素。

所以你只需要刪除版本字符串

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

試試吧=)

+1

['〜='](https://api.jquery.com/attribute-contains-word-selector/)用於查找包含單詞的屬性,其中as ['* ='](https:// api.jquery.com/attribute-contains-selector/)用於查找包含值的屬性(注意「word」的上下文) –

+0

yes your right =),感謝這兩個屬性的純粹分離:) –

+0

偏離主題,但最好引用MDN而不是W3Schools http://www.w3fools.com/ –

0

可以使用Attribute Contains Selector

$('[rel="stylesheet"][href*="civicrm.css"]').remove();
<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>

爲了演示起見,我用div代替link