我有以下情况,我无法弄清楚。
我有一个菜单如下:
<ul id="top">
<li><a href="" title="">Link 1</a>
<ul id="sub1">
<li><a href="" title="">Sub 1.1</a></li>
<li><a href="" title="">Sub 1.2</a></li>
</ul>
</li>
<li><a href="" title="">Link 2</a>
<ul id="sub2">
<li><a href="" title="">Sub 2.1</a></li>
<li><a href="" title="">Sub 2.2</a></li>
</ul>
</li>
[..]
</ul>
现在我希望相应的子菜单显示链接悬停的时间。因此,我有以下方法(测试它)。
$("#top li").live("mouseover mouseout", function(event){
if(event.type == "mouseover"){
$(this).closest("ul").show();
}else{
$(this).closest("ul").hide();
}
});
但这不起作用。显然,Link 1
超链接未触发鼠标悬停事件,因为当我将$(this).closest("ul").show();
更改为alert($(this).attr("title"));
时(假设我的工作文档中有实际的标题说明)我得到一个空警报窗口。
我该如何解决这个问题?
哦,忘了提到我使用live()
,因为我需要做一些目前隐藏的元素。
答案 0 :(得分:0)
尝试使用find()
代替closest()
。