2012-03-30 124 views
3

我有兩個嵌套的ul其中包含鏈接。嵌套元素的返回索引

我想找到其中的點擊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> 

我用下面的代碼:

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

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

    alert(index); 
}); 

這似乎內歸還a的指數parent of the parent,而不是隻是parent(我希望這是有道理的),即點擊第二個ul中的第二個鏈接返回索引4而不是1。

有人可以解釋我在哪裏出錯嗎?我懷疑這很簡單,但我無法弄清楚。

非常感謝。

回答

6

您需要獲取父li元素的索引。否則,您將獲得列表項內的錨索引,該索引始終爲零。

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

是的,這個工程.. http://jsfiddle.net/skram/B5DJR/2/酷! +1 – 2012-03-30 16:21:22

+0

就是這樣!謝謝丹尼斯 – Turnip 2012-03-30 16:33:45