Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于子事件查找父元素_Javascript_Jquery_Css_Dom - Fatal编程技术网

Javascript 基于子事件查找父元素

Javascript 基于子事件查找父元素,javascript,jquery,css,dom,Javascript,Jquery,Css,Dom,我有一个无序的列表,我正在使用左导航,每个列表项都是指向不同页面的链接,这是可折叠和可扩展的 我在中使用以下脚本 HTML: 现在,当我转到任何内部链接(它们是单独的登录页,附加了一个附加的当前类)时,我希望打开该特定列表,关闭其他列表。不知道如何实现它 我在小提琴里试过注释代码。但它正在打开所有项目,而不是当前活动的项目 单击链接后,新的登录页导航菜单将显示以下内容: <ul class="navi-list"> <li

我有一个无序的列表,我正在使用左导航,每个列表项都是指向不同页面的链接,这是可折叠和可扩展的

我在中使用以下脚本

HTML:

现在,当我转到任何内部链接(它们是单独的登录页,附加了一个附加的当前类)时,我希望打开该特定列表,关闭其他列表。不知道如何实现它

我在小提琴里试过注释代码。但它正在打开所有项目,而不是当前活动的项目

单击链接后,新的登录页导航菜单将显示以下内容:

<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");
        });