jQuery Navigation 始终打开第一个选项
jquery navigation always opens the first option
>我有一个像这样的导航元素:
<ul>
<li name='first_item'>
<ul>
<li>item 1</li>
<ul>
<li>item 1.1</li>
<li>item 1.2</li>
</ul>
<li>item 2</li>
</ul>
</li>
</ul>
<ul>
<li>
<ul>
<li>item 3</li>
<li>item 4</li>
</ul>
</li>
</ul>
处理向下和向上滑动的代码是:(nav 是一个 html 元素,是上面的父元素)
nav.find("li").each(
if ($(this).find("ul").length > 0) {
_callback = false;
$("<span>").text("^").appendTo($(this).children(":first"));
//show subnav on hover
$(this).mouseenter(function() {
$(this).find("ul").stop(true, true).slideDown();
});
//hide submenus on exit
$(this).mouseleave(function() {
$(this).find("ul").stop(true, true).slideUp();
});
}
});
发生的情况是,当我将鼠标悬停在first_item上时,它会打开子菜单,并且在完成向下滑动后,它也将打开项目 1 的子菜单。我对此完全迷茫了。任何帮助将不胜感激。
首先,您似乎在没有函数的情况下复制了 jquery,所以这不是问题所在:
nav.find("li").each(function(){
我认为问题是,你旅行到深处,所以试试这个:
$(this).find(">ul")
或者这个:
$(this).children("ul")
来自jQuery:.children()
方法与.find()
的不同之处在于,.children()
只沿着 DOM 树向下移动一个级别,而.find()
可以向下遍历多个级别以选择后代元素(孙子等)。
相关文章:
- jQuery空选择,但不是第一个选项
- Thunderbird,如何以编程方式选择第一个选项卡
- jQuery下拉列表未显示第一个选项
- 在v-for中选择中选择框的第一个选项
- Angular始终选择选择元素中的第一个选项
- 为什么嵌入式下拉列表只选择第一个选项
- 如果不在第一个选项卡中,jQuery Accordion会缩小谷歌图表
- 两个选项卡—第一个选项卡在第二个选项卡中处于调试模式时被卡住
- 存储值后,重复重新选择选择下拉菜单的第一个选项
- 追加时保留第一个选项
- 剑道TabstripDons't正确加载第一个选项卡
- 下拉菜单的第一个选项不是一个选项;强制使用其他选项
- Knockoutjs - 如何在选择下拉列表中预先选择第一个选项
- 从角度“ng-model”选择元素中选择第一个选项,带有一个按钮
- KendoUI 工具栏拆分按钮会自动突出显示下拉列表中的第一个选项.如何使所有选项看起来相同
- jQuery Navigation 始终打开第一个选项
- 使用 JQuery,如何引用同级的第一个选项
- 尝试清空除第一个选项之外的所有选项
- 当从第一个选项中选择一个选项时,如何取消隐藏另一个选择字段
- 谷歌地图放置API V3自动完成 - 在输入时选择第一个选项(并使其保持这种状态)