Небольшая ошибка jquery в IE8 - PullRequest
       0

Небольшая ошибка jquery в IE8

0 голосов
/ 22 декабря 2011

Если вы зайдете на этот сайт, http://rochesterwaterskishow.com/staging, наведите курсор на ссылку about в FF или Chrome, и вы увидите, что всплывающее меню. Когда вы делаете то же самое в IE8, меню не отображается. Я не проверял IE7.

Что заставляет меню не отображаться в IE8?

JQuery:

    $('#flyout').hover(function() {
        $(this).children('div').show();
    }, function() {
        $(this).children('div').hide();
    });

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

Как ни странно, ошибка отсутствует ни в меню, ни в вашем выражении jQuery. Это в строке выше:

<h1><a href="http://rochesterwaterskishow.com/staging/index.php/site/index"><img src="http://rochesterwaterskishow.com/staging/assets/images/RWSStandardLogo.gif" class="logo" /></h1>

Здесь нет закрывающего </a>, что делает IE шатким. Исправьте это, и вы должны быть в порядке.

0 голосов
/ 22 декабря 2011

Проблема в том, что $(this).children('div') не работает в IE8.Я не знаю почему (правка: я думаю, это из-за незакрытого тега <a>, упомянутого в сообщении Interrobang).

Я обнаружил, что это должно работать:

$('#flyout').hover(function() {
    $(this).find('div').show();
}, function() {
    $(this).find('div').hide();
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...