Индекс возврата вложенного элемента - PullRequest
3 голосов
/ 30 марта 2012

У меня есть два вложенных 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.

Может кто-нибудь объяснить, где я ошибаюсь?Я подозреваю, что это что-то простое, но я не могу понять это.

Большое спасибо.

1 Ответ

6 голосов
/ 30 марта 2012

Вам необходимо получить индекс родительского элемента li. В противном случае вы получите индекс якоря внутри элемента списка, который всегда будет равен нулю.

$(this.parentNode).index();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...