Вы уверены, что то, что вы пытаетесь сделать, правильно в каждой прошлой, настоящей и будущей версии IE?Какую проблему вы хотите обойти?Может быть, использовать что-то вроде Modernizr , добавить особый случай в свой CSS и прекратить его автоматическое использование, как только IE будет работать как остальные браузеры?
Если вы абсолютно увереныто, что вы хотите, это обнаружить IE8 (или любую другую версию), тогда вам не нужен JavaScript для этого - вы можете использовать что-то вроде этого:
<!doctype html>
<!--[if lt IE 7 ]> <html lang="en-us" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en-us" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en-us" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en-us" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en-us" class="no-js"> <!--<![endif]-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1" >
<meta charset="utf-8">
...
, а затем использовать CSS следующим образом:
#discount_box { your normal style }
.ie8 #discount_box { additional style for IE8 }
(но проверьте, является ли discount_box
классом или ID, потому что вы используете оба в своем примере)
См .: Условные таблицы стилей против хаков CSS?Ответ: Ни один! от Пола Айриша.