我怎样才能访问倒数第二个孩子?

时间:2014-01-14 09:45:52

标签: javascript jquery html jquery-selectors

我正在尝试访问倒数第二个li。我尝试了以下代码,但它不起作用:

$('ul#selectTheme li:last').eq(-1).addClass('selected');

我该怎么做?

5 个答案:

答案 0 :(得分:4)

尝试使用:nth-last-child() selector

$('ul#selectTheme li:nth-last-child(2)').addClass('selected');

答案 1 :(得分:2)

我相信你可以简单地将一个减号传递给.eq()以从最后得到第n个元素。 -1是最后一个元素,依此类推。

$('ul#selectTheme li').eq(-2).addClass('selected');

请点击此处了解更多详情 - .eq()

答案 2 :(得分:1)

只需使用prev()即可:

$('ul#selectTheme li:last').prev('li').addClass('selected');

jsFiddle Demo

答案 3 :(得分:0)

您可以使用length属性来获取此信息:

var themes = $('#selectTheme li');
$(themes[themes.length - 2]).addClass('selected');

这样做的好处是不使用任何较慢的jQuery伪选择器。

我也省略了选择器的ul部分,因为这是不必要的 - id选择器足够具体。

答案 4 :(得分:0)

试试这个:

$('ul#selectTheme li').eq(-2).addClass('selected');

您的案例似乎与文档中提供的示例非常相似:http://api.jquery.com/eq/