返回嵌套元素的索引

时间:2012-03-30 16:13:07

标签: jquery html jquery-selectors

我有两个包含链接的嵌套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);
});

似乎返回aparent of the parent的索引,而不仅仅是parent(我希望有意义),即点击第二个{{1}中的第二个链接返回索引4而不是1。

有人可以解释一下我的错误吗?我怀疑这很简单,但我无法理解。

非常感谢。

1 个答案:

答案 0 :(得分:6)

您需要获取父li元素的索引。否则,您将获得列表项内锚点的索引,该索引始终为零。

$(this.parentNode).index();