根据浏览器版本删除所有样式

时间:2012-04-06 11:47:10

标签: javascript jquery css internet-explorer-7 cross-browser

我想知道如何根据检查浏览器是否小于IE8来删除所有css样式。

那么如果它检测到IE7然后删除所有样式?我想知道这是否可以通过一些jquery?

这会解决大多数IE7问题:

<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script>
<![endif]-->

3 个答案:

答案 0 :(得分:2)

我不知道为什么要删除浏览器版本的所有样式。我想你有一些IE7的CSS问题,而且通常一种修复它的好方法,而不是删除你所有的CSS,就是使用ie7.js:http://code.google.com/p/ie7-js/

以下是它可以做的demo

此外,此脚本还有IE8和IE9的版本。

答案 1 :(得分:1)

<!--[if lt IE 8]>
    <body class='oldIE'>
<![endif]-->
<!--[if gte IE 8]>
    <body class='ok'>
<![endif]-->
<!--[if !IE]>
    <body class='ok'>
<![endif]-->

这里你需要为IE7申请的所有样式加上.ok

的前缀

另一种方法是

<!--[if lt IE 8]>
    //include an old IE specific stylesheet or none at all
<![endif]-->
<!--[if gte IE 8]>
    //include your stylesheets
<![endif]-->
<!--[if !IE]>
    //include your stylesheets
<![endif]-->

答案 2 :(得分:0)

最佳解决方案是删除特定的类名,而不是擦除元素的整个CSS:

// Identity browser and browser version

if($.browser.msie && parseInt($.browser.version) == 7) {

   // Remove class name
   $('.class').removeClass('class');

   // Or unset each CSS selectively
   $('.class').css({
      'background-color': '',
      'font-weight': ''
   });

}