2012-03-30 91 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