2016-07-30 72 views
0

我有一個導航菜單,從導航菜單活躍的菜單和子菜單導航欄

<div id="nav"> 
<ul> 
    <li><a href="<?php echo base_url(); ?>home">HOME</a></li> 
    <li><a href="#">Classes</a> 
     <ul> 
      <li><a href="<?php echo base_url(); ?>class_one">class One</a></li> 
      <li><a href="<?php echo base_url(); ?>class_two">Class Two</a></li> 
      <li><a href="<?php echo base_url(); ?>class_three">Class Three</a></li> 
      <li><a href="<?php echo base_url(); ?>class_four">Class Four</a></li> 
     </ul> 
    </li> 
    <li><a href="<?php echo base_url(); ?>results">Exams</a> 
    </li>  
</ul> 
</div> 
<script> 
$(document).ready(function() { 
    $("[href]").each(function() { 
     if (this.href == window.location.href) { 
      $(this).addClass("active"); 
     } 
    }); 
}); 
</script> 

除了遵循我有一個腳本,將顯示在該用戶是通過改變菜單的顏色在頁面上在我的CSS文件中使用活動類。因此,除「類」之外的所有主菜單都正常工作,但我想要的是當用戶在「類」菜單下的任何子菜單中顯示「類」作爲活動菜單而不是子菜單時。如何做到這一點?

+0

走的父母匹配的元素是活動的,並將這個類應用於這些類,或者是一個適當命名的類 –

+0

我該怎麼做? – lil

+0

看看我的答案 –

回答

0

if語句添加

$(this).parents('li').find('> a').addClass("active"); 

這個代碼是找到匹配的元件,它是li標籤,然後找到匹配的父母這是a標籤的直接孩子的所有的家長,並增加了活動類對他們太