2014-02-26 1 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> 

그 후, 나는 그렇게 보이길 원합니다;

가 어떻게이 class라는 actvie을 찾을 수 있으며 부모 li에 추가 ... 한 리에서

<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> 

그것은을 가지고 있으며, 나는 그것을 상단 하나를 추가 할 수 있나요?

감사합니다.이 내 솔루션은 ---- jQuery (document) .ready (function() { $ ('li.active'). closest ('ul.page-sidebar- find ('a'). append (''). ('ul.page-sidebar-menu> li'). ; }});

closest('ul.page-sidebar-menu > li')과 호환됩니다. 그렇지 않으면 자체를 찾습니다. (removeClass 그것을 확인하고 자신의 클래스의 제거.)

답변

2

당신은 closest()

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

을 사이드 바 메뉴> li', 이제 작동합니다. – user3354815

0

사용 .closest() 사용할 수 있습니다 ul.page- 나는`추가로 그것을 약간 수정했습니다

$(".active").closest("li").addClass("active"); 
관련 문제