2016-07-30 67 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标签的直接孩子的所有的家长,并增加了活动类对他们太