【发布时间】:2017-05-05 13:02:41
【问题描述】:
下面是我的 html 代码。由于下拉菜单类的 css 规则,所有 div 都被隐藏了。例如,当我将鼠标悬停在 id 为 0 的 li 上,然后显示 id 为 0 的 div 等。
<ul class="nav">
<li class="dropdown" id="0"><a href="#">menu1</a></li>
<div class="dropdown-menu" id="0">content 1</div>
<li class="dropdown" id="1"><a href="#">menu2</a></li>
<div class="dropdown-menu" id="1">content 2</div>
<li class="dropdown" id="2"><a href="#">menu3</a></li>
<div class="dropdown-menu" id="2">content 3</div>
</ul>
我已经用下面的代码成功了:
$('ul.nav li').each(function() {
$(this).hover(function() {
var myid=$(this).attr("id");
$(this).parent().find("div#"+myid).show();
});
});
但是当我将鼠标悬停到第三个 li 时,无论我悬停在哪里,我总是看到第三个 div。这是我不知道如何解决的一个问题,第二个问题(假设前一个问题已解决)是当我将鼠标悬停到例如第一个 li 并显示第一个 div 时,我需要能够导航到该 div并且不会立即消失。
任何想法都非常感谢!
【问题讨论】:
-
你不应该对元素使用相同的 id。它应该是独一无二的。尝试类似:jsfiddle.net/13zn4xkk
-
你不应该在一个页面上多次使用相同的
ID。您应该使用class或data属性
标签: jquery