2

好的,写这一行的更好方法是什么

   if ($.browser.msie && ($.browser.version == 7 or $.browser.version == 8 or $.browser.version == 9)) {
      $("#wrapper").addClass("oldie");
   }
4

4 回答 4

5

最佳做法是使用条件 html 注释,例如

<!--[if (lte IE 10)]><!--> <html class="oldie" lang="en"> <!--<![endif]-->
<!--[if (lt IE 10)]><!--> <html lang="en"> <!--<![endif]-->
</html>

你设置你的css classes喜欢

.someDiv {
    /* normal definitions */
}    

.oldie .someDiv {
    /* your special definition here */
}

就像评论中发布的@MarcelKorpel 一样,IE10 将放弃对条件评​​论的支持。无论如何要使用它们,您需要包括

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">

这条线到你的标记。

于 2013-01-23T17:30:24.763 回答
1

你可以:

if ($.browser.msie && $.browser.version > 6 && $.browser.version != 10)) {
      $("#wrapper").addClass("oldie");
}

或者

if ($.browser.msie && $.browser.version > 6 && $.browser.version < 10)) {
      $("#wrapper").addClass("oldie");
}
于 2013-01-23T17:28:15.407 回答
0

检查您是否可以将行为(应该在 JS 中)与演示文稿(应该在 CSS 中)分开。如果该类仅用于演示,那么最好将版本检查移动到您的 css 文件中。您可以为此目的使用“条件注释”:

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]> <html class="ie7"> <![endif]-->
<!--[if IE 8 ]> <html class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html> <!--<![endif]-->

有关如何使用它们的更多说明 - 请查看: http ://webdesignerwall.com/tutorials/css-specific-for-internet-explorer/comment-page-8

于 2013-01-23T18:05:30.283 回答
0

!=运营商呢?

if ($.browser.msie && $.browser.version != 10) {
    $("#wrapper").addClass("oldie");
}

您还可以使用<小于 10 的所有版本,这在这种情况下是最理想的。

$.browser.version < 10;
于 2013-01-23T17:28:52.087 回答