删除所有CSS规则

时间:2010-09-04 21:11:36

标签: javascript jquery css dojo arcgis-js-api

一旦样式表已经加载,有没有办法消除所有CSS规则?

我必须使用构建在Dojo之上的专有JavaScript库(ESRI's ArcGIS Server API)。我广泛使用Dojo的小部件,并想使用Dojo的claro主题但不幸的是ESRI库通过加载异地CSS文件(以及可能在JS中硬编码的CSS规则)来增加CSS。这最终破坏了Claro主题。

如此多的Dojo小部件CSS类被重写并且新规则被创建只是消灭所有CSS并重新加载标准Dojo样式表似乎更容易/更安全。

以下情况会很好:

* {none}

但我认为我必须最终使用Dojo或jQuery来完成此任务。

3 个答案:

答案 0 :(得分:6)

查看由Paul Irish撰写的名为RefreshCSS的书签:

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

答案 1 :(得分:4)

答案 2 :(得分:0)

总有document.head.innerHTML = "";但它真的清理房子,因此您必须存储任何脚本,元标记,标题或任何您想要保存的内容并重新添加。