2010-09-04 127 views
8

一旦樣式表已被加載,是否有辦法消除所有的CSS規則?刪除所有CSS規則

我必須使用基於Dojo構建的專有JavaScript庫(ESRI's ArcGIS Server API)。我廣泛使用了Dojo的小部件,並希望使用Dojo的claro主題,但不幸的是,ESRI庫通過加載非現場CSS文件(可能是CSS中硬編碼的CSS規則)來強化CSS。這最終破壞了Claro主題。

如此多的Dojo窗口小部件CSS類被重寫和新的規則創建,只消除所有的CSS和重新加載標準的Dojo樣式表似乎更容易/更安全。

像下面將是不錯:

* {none} 

,但我想我將不得不最終使用要麼道場或jQuery來做到這一點。

回答

4

退房這個書籤稱爲RefreshCSS通過Paul Irish:

javascript:(function(){var h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new Date().valueOf())}}})() 

它刷新頁面上的CSS樣式表,而不刷新頁面本身。

我想你可以對它做一些改動,並讓它做你想做的事情?

使用jQuery另一種做法可能的工作是一旦頁面加載運行此:

$('head link, head style').remove();

+0

我不知道爲什麼,但在你的代碼中有一些轉義字符,如<和&。這裏是(希望格式正確的)代碼: 'javascript:(function(){var h,a,f; a = document.getElementsByTagName('link'); for(h = 0; h Philipp 2013-11-04 01:08:37

0

總是有document.head.innerHTML = "";真的打掃房子,所以你要儲存起來的任何腳本,元標記,標題或任何您想要保存的內容並重新添加。