Как определить IE7 с помощью javascript или jquery и добавить класс в div

Есть ли способ обнаружить IE7?

У меня нет проблем с моими кодами в IE8, но у меня проблема с IE7.

Итак, я думал, что я могу добавить класс с jquery, когда браузер IE7 обнаруживает его javascript.

Я хочу изменить

<div id="system">

to

<div id="system" class="ie7">

Спасибо заранее.

Ответы

Ответ 1

Вы можете использовать условный комментарий IE для добавления класса через javascript, примерно так:

<!--[if IE 7]>
<script type="text/javascript">
$(document).ready(function() {
    $('#system').addClass('ie7');
});
</script>
<![endif]-->

Ответ 2

если вы действительно хотите решить эту проблему, используя javascript, вы можете проверить версию следующим образом:

if (navigator.appVersion.indexOf("MSIE 7.") != -1)
    $('#system').addClass('ie7');

Ответ 3

Вы можете сделать это только с помощью HTML:

CSS

.ie7{
   padding: 0;
   color: red;
}

HTML

<!--[if IE 7 ]> <div id="system" class="ie7"> <![endif]-->
<!--[if (gt IE 7)|!(IE)]><!--> <div id="system"> <!--<![endif]-->
</div>

Это создает div с классом ie7, если выполняется в Internet Explorer 7. Все остальные браузеры и IE > 7 просто создали бы этот div без класса.

Ответ 4

Чтобы обнаружить ie7, просто используйте

if($.browser.msie && parseFloat($.browser.version) < 8){
    //do other stuff
    return;
}

Чтобы сделать то, что вы хотите, просто:

if($.browser.msie && parseFloat($.browser.version) < 8){
    $('#system').addClass('ie7');
}

Ответ 5

Попробуйте следующее:

<!--[if IE 7]>
<script type="text/javascript">
  $('#system').addClass('ie7');
</script>
<![endif]-->

Ответ 7

Обратите внимание, что представление совместимости IE8 также будет иметь <!--[if IE 7 ]> как true

Итак, вы должны сделать тест второго уровня в режиме документа, если вы не хотите, чтобы изменения отражались в представлении "Совместимость с IE8".

<!--[if IE 7]>
    <script type="text/javascript"> 
   try
    {
    if(document.documentMode!=8){
     //Your code comes here
    }
    }
    catch(exception){
    }
   </script>
<!--<![endif]-->