如果您访问此网站http://rochesterwaterskishow.com/staging,请将鼠标悬停在FF或Chrome中的about
链接上,您会看到弹出的菜单。当您在IE8中执行相同操作时,菜单不会显示。我没有检查过IE7。
导致菜单无法在IE8中显示的原因是什么?
jQuery的:
$('#flyout').hover(function() {
$(this).children('div').show();
}, function() {
$(this).children('div').hide();
});
答案 0 :(得分:1)
有趣的是,bug根本不在菜单或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摇摆不定。解决这个问题,你应该好好去。
答案 1 :(得分:0)
问题是$(this).children('div')
在IE8中不起作用。我不知道为什么(编辑:我想这是因为Interrobang的帖子中提到的未公开的<a>
标签)。
我确实发现这应该有效:
$('#flyout').hover(function() {
$(this).find('div').show();
}, function() {
$(this).find('div').hide();
});
对于这些类型的问题,如果你将一个类放在你要隐藏/显示的div标签中然后你有更强大的方法来找到它而不是依赖那些代码,那么代码通常会更强大在恰当的地方成为唯一的一个div标签..