我在写我自己的jQuery导航子菜单脚本。当您将鼠标悬停在具有ul
标记的水平nav
的链接上时,它会显示ul
。如果它有一个子菜单,我有一些代码会为横向nav
中的链接添加箭头。我的问题是,它也会将箭头添加到子菜单中的链接。这在功能上并不是什么大问题,但它看起来很糟糕。如何不添加箭头到jQuery子菜单中的链接?
奇怪的是,如果我使用$(this).find('> a')
它拧紧了子菜单的外观。当我将鼠标悬停在顶层链接上时,会出现子菜单,但当鼠标离开链接时会立即消失。所以当鼠标悬停在顶层链接上时,我基本上可以看到整个子菜单。当鼠标离开顶层链接时,子菜单消失,我无法点击子菜单链接。我究竟做错了什么?
这是JSFiddle。将$(this).find('a')
更改为$(this).find('> a')
,您会看到我的意思。谢谢你的时间!
$(document).ready(function(){
$('nav ul li:has(ul)').each(function(){
var listItem = $(this);
$(this).find('> a').each(function(){
var aTag = $(this);
aTag.append('<img src="{img_url}/caret.png" width="8" height="8">');
aTag.on('mouseover', function(){
listItem.find('ul').each(function(){
$(this).css('display', 'block');
});
})
.on('mouseout', function(){
listItem.find('ul').each(function(){
$(this).css('display', 'none');
});
});
});
});
});