2014-02-26 41 views
0

让我用简单的代码展示我的问题。如何找到内里的班级并更换上班人员?

<ul class="page-sidebar-menu"> 
    <li></li> 
    <li> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </li> 
    <li> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
    </li> 
    <li></li> 
    <li></li> 
    <li> <!-- I want that jquery find the class active in it and add it to here --> 
     <ul> 
      <li class="active"></li> 
      <li></li> 
     </ul> 
    </li> 
    <li></li> 
</ul> 

之后,我希望它看起来像那样;

<ul class="page-sidebar-menu"> 
    <li></li> 
    . 
    . 
    . 
    <li></li> 
    <li class="active"> <!-- That, I want --> 
     <ul> 
      <li class="active"></li> 
      <li></li> 
     </ul> 
    </li> 
</ul> 

它只是在一个立有它,我必须将其添加到上一个...

我怎样才能找到class称为actvie,并把它添加到父母li

----好的,谢谢你们,我的解决方案---- jQuery(document).ready(function(){('li.active')。closest('ul.page-sidebar-菜单> li')。addClass('active'); $('li.active')。closest('ul.page-sidebar-menu> li')。find('a')。append('') ; });

它与closest('ul.page-sidebar-menu > li')一起使用,否则它会发现自己。 (与removeClass检查并删除它自己的类。)

回答

2

您可以使用closest()

$('li.active').closest('li').addClass('active'); 
+0

我已经加入'改变它有点ul.page-侧边栏菜单> li',它现在可以工作。 – user3354815

0

使用.closest()

$(".active").closest("li").addClass("active");