2012-03-30 3 views
3

링크가 포함 된 두 개의 중첩 된 ul이 있습니다. 보인다중첩 요소의 색인 반환

$("#main_nav ul ul a").click(function() { 

    var index = $('#main_nav ul ul a').index(this); 

    alert(index); 
}); 

가 내 a의 인덱스를 반환 :

나는 그것을 내에서 클릭 a의 인덱스를 찾으려는 부모 ul 나는 다음과 같은 코드를 사용하고

<div id="main_nav"> 
<ul> 
    <li> 
     <ul> 
      <li><a href="/url/">LINK</link></li> 
      <li><a href="/url/">LINK</link></li> 
      <li><a href="/url/">LINK</link></li> 
     </ul> 
    </li> 
</ul> 
<ul> 
    <li> 
     <ul> 
      <li><a href="/url/">LINK</link></li> 
      <li><a href="/url/">LINK</link></li> 
      <li><a href="/url/">LINK</link></li> 
     </ul> 
    </li> 
</ul> 

</div> 

입니다 대신 parent (나는 의미가되기를 바란다.) 즉 두 번째 링크에서 두 번째 링크를 클릭하면 ul은 1 대신 인덱스 4를 반환합니다.

누군가 내가이 문제에 대해 잘못 설명 할 수 있습니까? 나는 그것이 단순한 무엇인가 의심한다. 그러나 나는 그것을 이해할 수 없다.

감사합니다.

답변

6

부모 색인 li을 가져와야합니다. 그렇지 않으면 목록 항목 안에 앵커의 인덱스가 생기고 항상 앵커가 0이됩니다.

$(this.parentNode).index(); 
+0

그래,이 작품 .. http://jsfiddle.net/skram/B5DJR/2/ 멋진! +1 –

+0

그게 하나야! 감사 데니스 – Turnip

관련 문제