Javascript 基于子事件查找父元素
我有一个无序的列表,我正在使用左导航,每个列表项都是指向不同页面的链接,这是可折叠和可扩展的 我在中使用以下脚本 HTML: 现在,当我转到任何内部链接(它们是单独的登录页,附加了一个附加的当前类)时,我希望打开该特定列表,关闭其他列表。不知道如何实现它 我在小提琴里试过注释代码。但它正在打开所有项目,而不是当前活动的项目 单击链接后,新的登录页导航菜单将显示以下内容:Javascript 基于子事件查找父元素,javascript,jquery,css,dom,Javascript,Jquery,Css,Dom,我有一个无序的列表,我正在使用左导航,每个列表项都是指向不同页面的链接,这是可折叠和可扩展的 我在中使用以下脚本 HTML: 现在,当我转到任何内部链接(它们是单独的登录页,附加了一个附加的当前类)时,我希望打开该特定列表,关闭其他列表。不知道如何实现它 我在小提琴里试过注释代码。但它正在打开所有项目,而不是当前活动的项目 单击链接后,新的登录页导航菜单将显示以下内容: <ul class="navi-list"> <li
<ul class="navi-list">
<li class="no-subitem">
<a href="hr-page.html">Overview</a>
</li>
<li><a class="has-subitem"><i class="fa fa-caret-right fw"> </i> Policies & Procedures </a>
<ul class="submenu">
<li ><a class="current" href="#"> Documents & Resources </a>
<span class="navi-current"></span>
</li>
<li><a href="#"> Upcoming Events </a></li>
<li><a href="#"> News </a></li>
<li><a href="#"> Announcements </a></li>
</ul>
</li>
<li><a class="has-subitem"><i class="fa fa-caret-right fw"> </i> Feeds & Discussions </a>
<ul class="submenu">
<li><a href="#"> Blog & Podcasts </a></li>
<li><a href="#"> Photos & Videos </a></li>
</ul>
</li>
<li><a class="has-subitem"><i class="fa fa-caret-right fw"> </i> About Us </a>
<ul class="submenu">
<li><a href="#"> FAQs </a></li>
<li><a href="#"> Contact Us </a></li>
</ul>
</li>
</ul>
-
-
正如你所看到的,我需要找到电流,并在关闭其他子菜单的同时单独扩展该子菜单
谢谢您需要从其他列表中找到选择子菜单,并使用
隐藏它们。slideUp()
:
谢谢您抽出时间。但我的情况是,当点击链接时,我会在另一个页面上登陆,所以我会在点击的页面上添加一个“current”类,所以我需要找到这个类并单独折叠该子菜单
$('.current')。next().slideUp()
不起作用。。单击链接后,已更新登录页的新html
$(".has-subitem").next(".submenu").hide();
/*
if($(".submenu > li > a").find("current")){
var $here = $('this').parents().eq(1);
$('.submenu').show();
}
*/
$(document).on("click", ".has-subitem", function () {
$(this).next(".submenu").slideToggle();
$(this).find('i').toggleClass("fa-caret-right fa-caret-down");
});
<ul class="navi-list">
<li class="no-subitem">
<a href="hr-page.html">Overview</a>
</li>
<li><a class="has-subitem"><i class="fa fa-caret-right fw"> </i> Policies & Procedures </a>
<ul class="submenu">
<li ><a class="current" href="#"> Documents & Resources </a>
<span class="navi-current"></span>
</li>
<li><a href="#"> Upcoming Events </a></li>
<li><a href="#"> News </a></li>
<li><a href="#"> Announcements </a></li>
</ul>
</li>
<li><a class="has-subitem"><i class="fa fa-caret-right fw"> </i> Feeds & Discussions </a>
<ul class="submenu">
<li><a href="#"> Blog & Podcasts </a></li>
<li><a href="#"> Photos & Videos </a></li>
</ul>
</li>
<li><a class="has-subitem"><i class="fa fa-caret-right fw"> </i> About Us </a>
<ul class="submenu">
<li><a href="#"> FAQs </a></li>
<li><a href="#"> Contact Us </a></li>
</ul>
</li>
</ul>
$(document).on("click",".has-subitem",function(){
$('.submenu').not($(this).next()).toggleClass("fa-caret-right fa-caret-down").slideUp();
$(this).next(".submenu").slideToggle();
$(this).find('i').toggleClass("fa-caret-right fa-caret-down");
});