jquery - 选择一系列类中的最后一个 <a>

标签 jquery jquery-selectors

我有一个无序列表嵌套在无序列表中,如下所示:

<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 以及一类子菜单。

谢谢!

最佳答案

使用这个:

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

Select the a
contained in the last li child of
each .sub-menu element.

您不想选择 a:last-child,因为每个 a 都是其 li 元素的最后一个也是唯一的子元素。

您也不想选择 a:lastli:last 除非您 iterate through it as John Hartsock says ,因为:last选择整个 jQuery DOM 元素集中的最后一个元素

关于jquery - 选择一系列类中的最后一个 <a>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5758019/

相关文章:

javascript - 对 jQuery 生成的元素调用函数

javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after

jquery - CSS 和 jQuery 中的选择器有什么区别?

javascript - jQuery 从空列和行中清理 Flexbox 结构

javascript - jQuery - 将多个选择的下拉值存储在数组中

jquery - 更改事件选项卡和选项卡主体颜色

jquery - 有没有办法改变 jQuery flot 中绘图的颜色而不重新绘制整个图表?

javascript - 如何通过jquery获取Json格式的数据

jquery - 使用 jquery 选择每隔 2 个表行

jQuery - 前一个节点 - 没有公共(public)父节点