Javascript 如何访问倒数第二个孩子?

Javascript 如何访问倒数第二个孩子?,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我正在尝试访问倒数第二个li。我尝试了以下代码,但不起作用: $('ul#selectTheme li:last').eq(-1).addClass('selected'); 我如何才能做到这一点?仅使用prev()就足够了: $('ul#selectTheme li:last').prev('li').addClass('selected'); 仅使用prev()就足够了: $('ul#selectTheme li:last').prev('li').addClass('selected'

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

$('ul#selectTheme li:last').eq(-1).addClass('selected');
我如何才能做到这一点?

仅使用
prev()
就足够了:

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

仅使用
prev()
就足够了:

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

尝试使用:

尝试使用以下命令:


您只需使用length属性即可获得:

var themes = $('#selectTheme li');
$(themes[themes.length - 2]).addClass('selected');
这还有一个额外的好处,即不使用任何较慢的jQuery伪选择器


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

您可以使用length属性来获得:

var themes = $('#selectTheme li');
$(themes[themes.length - 2]).addClass('selected');
这还有一个额外的好处,即不使用任何较慢的jQuery伪选择器


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

我相信您只需将一个负数传递给
.eq()
即可从末尾获取第n个元素-1是最后一个元素,依此类推

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

查看此处了解更多详细信息-

我相信您只需将负数传递给
.eq()
,即可从末尾获取第n个元素-1是最后一个元素,依此类推

$('ul#selectTheme li').eq(-2).addClass('selected');
查看此处了解更多详细信息-

尝试以下方法:

$('ul#selectTheme li').eq(-2).addClass('selected');
您的案例很像文档中给出的一个示例:

试试这个:

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

您的案例看起来很像文档中给出的一个示例:

这假设所有
ul
的子对象都是
li
s,这应该是事实,但遗憾的是并非总是正确的。这假设所有
ul
的子对象都是
li
s,这应该是事实,不幸的是,这并不总是正确的。
ul\selectTheme li:last
只选择一个
li
(最后一个),调用
eq(-1)
将再次返回该单个
li
(最后一个)。
ul\selectTheme li:last
只选择一个
li
(最后一个),然后调用
eq(-1)
将再次返回单个
li
(最后一个)。