一旦样式表已经加载,有没有办法消除所有CSS规则?
我必须使用构建在Dojo之上的专有JavaScript库(ESRI's ArcGIS Server API)。我广泛使用Dojo的小部件,并想使用Dojo的claro主题但不幸的是ESRI库通过加载异地CSS文件(以及可能在JS中硬编码的CSS规则)来增加CSS。这最终破坏了Claro主题。
如此多的Dojo小部件CSS类被重写并且新规则被创建只是消灭所有CSS并重新加载标准Dojo样式表似乎更容易/更安全。
以下情况会很好:
* {none}
但我认为我必须最终使用Dojo或jQuery来完成此任务。
答案 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 = "";
但它真的清理房子,因此您必须存储任何脚本,元标记,标题或任何您想要保存的内容并重新添加。