Выберите последний <a>в серии классов - PullRequest
1 голос
/ 22 апреля 2011

У меня есть неупорядоченный список, вложенный в неупорядоченный список, как показано ниже:

<ul id="menu">
    <li><a href="#">Event Overview</a>
        <ul class="sub-menu">
            <li><a href="#">Some Text Here</a></li>
            <li><a href="#">Some Text Here</a></li>
            <li><a href="#">Some Text Here</a></li>
        </ul>
    </li>
    <li><a href="#">About</a>
        <ul class="sub-menu">
            <li><a href="#">Some Text Here</a></li>
            <li><a href="#">Some Text Here</a></li>
        </ul>
    </li>

    <li><a href="#">Blog</a>
        <ul class="sub-menu">
            <li><a href="#">Some Text Here</a></li>
            <li><a href="#">Some Text Here</a></li>
            <li><a href="#">Some Text Here</a></li>
        </ul>
    </li>

    <li><a href="#">Contact</a>
        <ul class="sub-menu">
            <li><a href="#">Some Text Here</a></li>
            <li><a href="#">Some Text Here</a></li>
            <li><a href="#">Some Text Here</a></li>
        </ul>
    </li>

</ul>

Мне нужно выбрать последний <a> внутри <ul class="sub-menu">

Я бы предположил, что селектор будет $(".sub-menu a:last"), но при этом будет выбран только последний абсолют a. Мне нужно выбрать последний a в каждом неупорядоченном списке с классом подменю.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 22 апреля 2011

Используйте это:

$('.sub-menu li:last-child a')

Выберите a
содержится в последнем li дочернем элементе
каждый элемент .sub-menu.

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

Также вы не хотите выбирать a:last или li:last, если вы не итерируете его, как сказал Джон Хартсок , потому что :last выбирает последний элемент в весь набор элементов jQuery DOM .

1 голос
/ 22 апреля 2011
$("ul.submenu").each(function () {
   $("a:last", this)  // this will select the last a in each submenu
});
0 голосов
/ 22 апреля 2011
$(function() {
    $('.sub-menu').each(function() {
        $('li:last a', this) // do stuff
    });
});

Добавлена ​​скрипка о том, как это работает: http://jsfiddle.net/mzyx3/

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