2015-12-14 37 views
0

所以我在我的標題上有這個導航,但問題是當我點擊鏈接並將我重定向到該頁面時,它失去了活動類。任何建議?如何在重定向後在鏈接上設置活動類?

<nav> 
    <div class="menu-topmenu-container"> 
    <ul id="menu-topmenu" class="menu"> 
     <li id="whats-on" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-53"> 
     <a href="#whatson" class="active">What’s On</a> 
     </li> 
     <li id="menu-item-52" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-52"> 
     <a href="visiting-us">Visiting Us</a> 
     </li> 
     <li id="menu-item-46" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-33 current_page_item menu-item-46"> 
     <a href="collections-research">Collections &amp; Research</a> 
     </li> 
     <li id="menu-item-50" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50"> 
     <a href="learning">Learning</a> 
     </li> 
     <li id="menu-item-49" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-49"> 
      <a href="get-involved">Get Involved</a> 
     </li> 
    </ul> 
    </div> 
</nav> 

我試過,但它不工作:

$(function(){ 
    var href=window.location.href; 
    $('nav a').each(function(e,i){ 
    if (href.indexOf($(e).attr('href'))>=0) 
    { 
     $(e).addClass('active'); 
    } 
    }); 
}); 

回答

7

變化ethis,怎麼eindex

$(function() { 
    var href = window.location.href; 
    $('nav a').each(function(e,i) { 
    if (href.indexOf($(this).attr('href')) >= 0) { 
     $(this).addClass('active'); 
    } 
    }); 
}); 
+0

當你使用'.each()'時,第一個參數實際上是元素而不是事件。 '每個'中都沒有事件。僅僅因爲他稱變量「e」並沒有說明它內部的實際值。 –

+2

@StephanMuller不過,這裏'e'是索引。 –

+0

@StephanMuller更正了答案。謝謝。 –