
[英]How to select <li> element by hovering and clicking over them in a <ul> element
[英]hovering over ul does not work
有人知道为什么将鼠标悬停在ul元素上不起作用吗?
<ul class="navi">
<li> <a class='light'>
Item1
<div class="hover-name" style="display:none">
Businesses
</div>
</a>
</li>
<li> <a class='light'>
Item2
<div class="hover-name" style="display:none">
Agencies
</div>
</a>
</li>
<li>
Item3
<ul class="hover-name" style="display:none">
<li><a>hello</a></li>
<li><a>hello2</a></li>
</ul>
</li>
</ul>
我试图将鼠标悬停在列表中的元素上,并将其他元素悬停在上方,但是当您将鼠标悬停在小提琴中的ul“ hover-name”元素上时,它不起作用。
您需要分别为上一个li
悬停事件,因为您的上一个li
没有class light
锚点:
$('.navi > li a.light, .navi li:last-child').on("mouseover", function () {
$('.hover-name', this).show();
}).on("mouseout", function() {
$('.hover-name').hide();
});
如果您不想按照评论中的步骤进行操作,为什么不直接针对li
而不是锚点:
$('.navi > li').on("mouseover", function () {
$('.hover-name', this).show();
}).on("mouseout", function() {
$('.hover-name').hide();
});
删除
a class='light'
其他2项,然后更改
$('.navi > li a.light')
至
$('.navi > li')
@Felix的答案很好。 您也可以从选择器中删除a.light
:
$('.navi > li').on("mouseover", function () {
$('.hover-name', this).show();
}).on("mouseout", function() {
$('.hover-name').hide();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.