Добавить класс CSS к элементу при использовании IE

0

Я пытаюсь исправить проблему с пользовательским интерфейсом, которая возникает только в IE, поэтому я пытаюсь выяснить, есть ли у меня IE, а затем добавить идентификатор класса ко всему элементу, который уже находится в главном содержимом класса (нашел больше всего моего HTML файлы).

Я хочу добавить скрипт в свой index.html (который вызывает оболочку, а оболочку - для всех других файлов).

Итак, на моем index.html я добавил эти строки:

<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript'>//<![CDATA[
$(function(){
    if(navigator.userAgent.match(/Trident\/7\./)) {
        $('.main-content').addClass('if-ie');
    }


});//]]>
</script>

Но это не работает

Это работа, если я переключу селектор на:

$('body').addClass('if-ie');

Так что я думаю, потому что я пытаюсь добраться до других файлов. Для этого есть решение?

  • 2
    Что такое .main_content ? Что вы подразумеваете под другими страницами? Кстати, похоже на проблему XY, потому что в любом случае вы должны обнаружить поддержку функций, а не браузер
  • 3
    Я предполагаю, что ничто в текущем документе не соответствует селектору $('.main-content') . Элементы должны быть загружены в DOM, прежде чем вы сможете выбрать их.
Показать ещё 1 комментарий
Теги:
internet-explorer

2 ответа

0

Можешь попробовать

if ( $.browser.msie ) {
$('.main-content').addClass('if-ie');
}

Версия и другие сведения

http://api.jquery.com/jquery.browser/

  • 0
    $.browser.* осуждается займет слишком много времени назад ..
0

Вы можете использовать этот скрипт для обнаружения Internet Explorer

var isMSIE =/*@cc_on!@*/false; if ( isMSIE ) { $('.main-content').addClass('if-ie'); }

http://dean.edwards.name/weblog/2007/03/sniff/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню