JQuery не работает на IE - PullRequest
       35

JQuery не работает на IE

4 голосов
/ 05 января 2011

У меня есть следующий скрипт jQuery, который фактически игнорируется Internet Explorer (7 и 8). Работает нормально в FF и Chrome.

<script type="text/javascript" language="javascript">
    $("body").addClass("newclass");
</script>

Это очень просто, но я не знаю, по какой причине IE игнорирует это. Знайте, что код загружается как динамический контент с JAVA (что не должно быть проблемой, поскольку остальные скрипты работают) Я пытался вызвать скрипт как функцию во внешнем файле, но ничего не происходит. Может ли кто-нибудь помочь мне понять, где моя ошибка? Или помочь мне понять IE?

Ответы [ 3 ]

8 голосов
/ 05 января 2011

Или, может быть, в «готовом» документе документа будет лучше

$(document).ready(function() {
  $('body').addClass('newclass');
});
0 голосов
/ 05 января 2011

Оберните его в $(document).ready(function(){ ... });

Таким образом, JQuery запустит его только после полной загрузки страницы.

Если вы этого не сделаете, код будет выполненкак только это произойдет, что может произойти до загрузки DOM, поэтому у вас может не быть элемента body для добавления класса.

Тот факт, что некоторые браузеры работают, а другие не подразумевают, что разныебраузеры (а) загружают страницу с разной скоростью и / или (б) выполняют начальные задачи загрузки в другом порядке.Но вам не нужно беспокоиться об этом.Просто позвоните $.ready() и JQuery сделает все в правильном для вас порядке.

0 голосов
/ 05 января 2011

Я уверен, что у вас также будут проблемы с Firefox и Chrome, если это проблема, но попробуйте

$(function () {
    $('body').addClass('newclass');
});

просто чтобы быть уверенным, что он вызывается после загрузки документа. Может быть, IE нуждается в этом.

...