[英]Get current URL and find nav items matching part of it, then show submenu
我有一個導航菜單,該菜單默認情況下隱藏子菜單。 如果我不在主頁上,則我想顯示與當前位置匹配的導航項的子菜單。
我可以找到當前的路徑名:
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-&-styling">Cutting & Styling</a>
</li>
<li><a href="/services/waving-&-straightening">Waving & Straightening</a>
</li>
<li><a href="/services/treatments">Treatments</a>
</li>
</ul>
</li>
如您所見,如果我是/ services / colour,我想顯示services子菜單。
問:如何瀏覽導航項並將類添加到父項li?
假設您的錨標簽位於:
var $a = $('ul.see li a[href^="/' + location.pathname.split("/")[1] + '"]');
然后,您可以使用.closest()方法獲取最接近的LI
$a.closest('li')
然后,添加所需的類...,然后導航至.closest('ul')(如果需要在此添加類,等等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.