簡體   English   中英

如何刪除所有鏈接的樣式表,但按ID保留一個?

[英]How to remove all linked stylesheets but keep one by ID?

我需要刪除頭部中所有鏈接的樣式表,同時保留其中之一。

我希望將其全部刪除,但id = custom_stylesheet的除外

<link type="text/css" href="" rel="stylesheet"></link>
<link type="text/css" href="" rel="stylesheet"></link>
<link type="text/css" href="" rel="stylesheet"></link>
<link id="skin_stylesheet" type="text/css" href="" rel="stylesheet"></link>
<link id="custom_stylesheet" type="text/css" href="" rel="stylesheet"></link>

這可以刪除所有內容,但是我如何對其進行編輯以保留其中一個?

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

您可以使用:not.not()

$('link[rel=stylesheet]:not(#custom_stylesheet)').remove();
$('link[rel=stylesheet]').not('#custom_stylesheet').remove();

有一個document.styleSheets集合 ,其中包含文檔的所有樣式表。 優點是它包括所有樣式表,即由鏈接元素和樣式元素添加的樣式表。

因此遍歷:

var sheet, sheets = document.styleSheets;

for (var i=0, iLen=sheets.length; i<iLen; i++) {
  sheet = sheets[i];

  if (sheet.id != 'custom_stylesheet') {
    sheet.parentNode.removeChild(sheet);
  }
}

我敢肯定有一個使用的每個 ,像一個jQuery的ISED版本:

jQuery.each(document.styleSheets, function(i, sheet) {
  if (sheet.id != 'custom_sytleSheet') $(sheet).remove();

  // or much more efficient
  // if (sheet.id != 'custom_sytleSheet') sheet.parentNode.removeChild(sheet)
})

嘗試

 $('link[rel=stylesheet]').filter(function(){
    return  this.id !="custom_stylesheet";
 }).remove();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM