Javascript jquery:多列表的最后一个选择器

Javascript jquery:多列表的最后一个选择器,javascript,jquery,Javascript,Jquery,我有一个像这样的导航 <ul class="navigation"> <li class="navlist"> Navigation1 <ul> <li>point1</li> <li>point2</li> ... </ul> </li> <li class="navlist"> Navigat

我有一个像这样的导航

<ul class="navigation">
    <li class="navlist">
    Navigation1
    <ul>
    <li>point1</li>
    <li>point2</li>
    ...
    </ul>
    </li>

    <li class="navlist">
    Navigation2
    <ul>
    <li>point1</li>
    <li>point2</li>
    ...
    </ul>
    </li>
</ul>
etc (4 more navigations) .. 
使用

虽然
:last
只匹配一个元素,但
:last child
可以为每个父元素匹配多个:一个

不是

请注意,
:last
通过过滤当前jQuery集合并匹配其中的最后一个元素来选择单个元素



因此,您要选择“每个导航类中最后一个导航列表中的最后一个ul?”然后是您的选择器:

$('.navigation .navlist:last-child ul:last-child')

我在这里猜测您真正想要什么:

$('.navigation>li.navlist>ul:last').addClass('last_border')


这有帮助吗?

这将在
.navigation
元素上循环,并选择每个元素中的最后一个
ul

$(".navigation").each(function(i, nav) {
    $(nav).find("ul:last").addClass("last_border");
});
由于
.find(“ul:last”)
是从每个
.navigation
的上下文执行的,因此
:last
将仅应用于当前
.navigation
元素


或者,由于jQuery的隐式迭代,您实际上可以这样做:

$(".navigation").find("ul:last").addClass("last_border");

jQuery将迭代找到的
.navigation
元素,并分别对每个元素执行
.find()

给定标记,似乎每个
ul
都是其父
li
@Johnny187的
最后一个子元素?确切地说,您想选择哪个“last”
?每个导航类中最后一个导航列表中的最后一个ul。您想将该类添加到每个
.navigation
中的最后一个
ul
,还是在每个
li.navlist
中?我刚刚键入:)别忘了添加addClass()。。。。编辑:别担心你已经did@DivZero:刚加的。谢谢。:)为我工作!谢谢你的循环指针。别忘了:)@johnn187:不客气。仅供参考,我在底部添加了另一个解决方案。如果在初始选择之后链接
.find()
,jQuery将为您执行迭代,这将以更少的代码提供相同的结果。,
$(".navigation").find("ul:last").addClass("last_border");