Comment détecter IE7 avec javascript ou jquery et ajouter une classe à div

Existe-t-il un moyen de détecter IE7?

Je n'ai aucun problème avec mes codes dans IE8, mais j'ai un problème avec IE7.

Donc, ce que j'ai pensé, c'est que je peux ajouter une classe avec jquery lorsqu'un navigateur IE7 le détecte par javascript.

Je veux changer de

<div id="system"> 

à

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

Merci d'avance.

Vous pouvez utiliser un commentaire conditionnel IE pour ajouter la classe via javascript, quelque chose comme ceci:

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

Si vous voulez vraiment résoudre ceci en utilisant JavaScript, vous voudrez peut-être vérifier la version comme ceci:

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

Vous pouvez le faire simplement avec 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> 

Cela crée la div avec la classe ie7 si ie7 est exécutée dans Internet Explorer 7. Tous les autres navigateurs et IE> 7 créeraient simplement cette division sans la classe.

Pour détecter ie7 juste utiliser

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

Pour faire ce que vous voulez avec ça, juste:

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

Essaye ça:

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

Soyez informé que IE8 compati view aura également <!--[if IE 7 ]> comme vrai

Donc, vous devriez faire un deuxième test de niveau sur le mode document, si vous ne souhaitez pas que les modifications se reflètent dans la vue IE8 Compat.

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