jQuery и IE, отказывающий на $ ('#someDiv') .hide ();

Много позже некоторое время царапания моей головы и движения "ха?" при попытке выяснить, почему IE прямо отказал бы при загрузке одной из моих страниц, загруженных совершенством jQuery, я сузил преступника к этой строке

$('div#questions').hide();

И когда я говорю, что катастрофические отказы IE, подразумеваю, что это полностью отказывает, пытаясь сделать его ерунду восстановления веб-страницы, которая перестала работать.

Я запускаю jQuery 1.4.2 и использую IE 8 (не протестировали ни с какими другими версиями),

мое текущее обходное решение - это:

if ($.browser.msie) { 
    window.location = "http://www.mozilla.com/en-US/products/download.html"; 
}

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

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

Кто-либо встретился с этим или имеет какие-либо возможные идеи того, что идет не так, как надо?

Править:

Все обернуто в $ (документ) .ready (функция () {}); И мой код является все внутренним, таким образом, я не могу связать его, к сожалению.

Код катастрофического отказа Править: IE 8 найден

<ol class="actionHelp">
    <li>List the tasks (or actions) that are involved in your pattern along the top (one per column)</li>
    <li>Put the starting point in the first column and the ending point in the last column.</li>
    <li>To fill in the middle, simply ask: "What happens next?" If only one thing ever happens next, then it should get 100%. If 70% of the time one thing happens next, and 30% of the time another thing happens next, then put 70 in one box and 30 in the other.</li>
    <li>Each row should add up to 100%</li>
    <li>The last row is the exit and should not have any percentages in it.</li>                
</ol>

Я понятия не имею, почему это вызывает проблемы в IE, но здесь является CSS

.actionHelp {
    margin: 0 0 0 20px;
}
.actionHelp li {
    margin: 5px 0;
}

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

JQuery + IE + сокрытие ol элемента = OMG СБОЙ IE? Или существует ли обходное решение?

Это, кажется, затронуто любой элемент списка со стилем списка ни кроме одного

9
задан Jimmy 2 April 2010 в 06:38
поделиться

4 ответа

Очевидно, ваша проблема не в div # questions сам. Можете ли вы попробовать удалить (или закомментировать) все содержимое div # questions и добавить каждый элемент обратно, по одному, до тех пор, пока IE снова не начнет давать сбой?

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

Продолжайте делать это, пока не найдете реальный источник проблемы. Я знаю, что это довольно низкотехнологичное решение, но зачастую оно также и самое быстрое.

4
ответ дан 3 November 2019 в 07:13
поделиться

Выключите расширения.

Очень маловероятно, что javascript является вашей единственной проблемой.

0
ответ дан 3 November 2019 в 07:13
поделиться

.hide () - это просто оболочка для установки стиля элементов на display: none . Вы пробовали document.getElementById ("# questions"). Style.display = "none" просто чтобы посмотреть, имеет ли это значение? Это может помочь вам определить, вызывает ли конфликт сам jQuery.

0
ответ дан 3 November 2019 в 07:13
поделиться

Просмотрите код в отладчике IE (с неминифицированным jQuery) и посмотрите, на какой строке он умирает.

1
ответ дан 3 November 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: