Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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 获取当前URL并查找与其中一部分匹配的导航项目,然后显示子菜单_Javascript_Jquery - Fatal编程技术网

Javascript 获取当前URL并查找与其中一部分匹配的导航项目,然后显示子菜单

Javascript 获取当前URL并查找与其中一部分匹配的导航项目,然后显示子菜单,javascript,jquery,Javascript,Jquery,我有一个导航菜单,默认情况下子菜单是隐藏的。如果我位于主页以外的页面上,我希望显示与当前位置匹配的导航项目的子菜单 我可以找到当前路径名: var currentUrl = (window.location.pathname); 我知道如何扫描href参数: $('ul.see li a[href^="/' + location.pathname.split("/")[1] + '"]'); 获取子菜单的第一个目录 如何浏览导航项并将类添加到父li项 我的菜单标记如下: <ul id=

我有一个导航菜单,默认情况下子菜单是隐藏的。如果我位于主页以外的页面上,我希望显示与当前位置匹配的导航项目的子菜单

我可以找到当前路径名:

var currentUrl = (window.location.pathname);
我知道如何扫描href参数:

$('ul.see li a[href^="/' + location.pathname.split("/")[1] + '"]');
获取子菜单的第一个目录

如何浏览导航项并将类添加到父li项

我的菜单标记如下:

<ul id="mainNavigation">
        <li class="hasKids"><a href="javascript:void(0)">About</a>
            <ul>
                <li><a href="/about/the-salon">The Salon</a>
                </li>
                <li><a href="/about/our-story">Our Story</a>
                </li>
                <li><a href="/about/joe-mills">Joe Mills</a>
                </li>
                <li><a href="/about/stylists">Stylists</a>
                </li>
                <li><a href="/about/products">Products</a>
                </li>
            </ul>
        </li>
        <li class="hasKids"><a href="javascript:void(0)">Services</a>
            <ul >
                <li><a href="/services/colour">Colour</a>
                </li>
                <li><a href="/services/cutting-&amp;-styling">Cutting &amp; Styling</a>
                </li>
                <li><a href="/services/waving-&amp;-straightening">Waving &amp; Straightening</a>
                </li>
                <li><a href="/services/treatments">Treatments</a>
                </li>
            </ul>
        </li>
因此,当您看到我是/services/color时,我想显示services子菜单

问:如何浏览导航项目并向父li项目添加类

假设您在您的锚定标签上:

var $a = $('ul.see li a[href^="/' + location.pathname.split("/")[1] + '"]');
然后,可以使用.closest()方法获取最近的LI

$a.closest('li')

然后,添加您想要的类…然后导航到最接近的类('ul'),如果您需要在那里添加类,等等。

谢谢您的帮助Kevin,我已将其排序,但这看起来是一个合法的解决方案