我有一个无序列表嵌套在一个无序列表中,如下所示:
<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")
,但这只选择绝对的最后一个。我需要它用一个子菜单类选择每个无序列表中的最后一个。
谢谢!
答案 0 :(得分:3)
使用此:
$('.sub-menu li:last-child a')
选择
a
包含在最后一个li
子女中 每个.sub-menu
元素。
您不想选择a:last-child
,因为每个a
都是其li
元素的最后一个孩子。
除非iterate through it as John Hartsock says,否则您也不想选择a:last
或li:last
,因为:last
会选择整个jQuery DOM元素集中的最后一个元素
答案 1 :(得分:1)
$("ul.submenu").each(function () {
$("a:last", this) // this will select the last a in each submenu
});
答案 2 :(得分:0)
$(function() {
$('.sub-menu').each(function() {
$('li:last a', this) // do stuff
});
});
添加了一个如何工作的小提琴:http://jsfiddle.net/mzyx3/