繁体   English   中英

我如何从最后一个元素而不是第一个元素开始使用:nth-​​child()选择器?

[英]How can I use the :nth-child() selector starting from the last element, rather than the first?

 $('button').click(function(){ $('ul').find('li:nth-child(2)').css('color', '#f00') }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li>Glen</li> <li>Tane</li> <li>Ralph</li> <li>David</li> </ul> <button>Draw it</button> 

我想通过这种方式获取元素<li>Ralph</li> :提供负数表示从集合的末尾开始的位置,就像.eq(-2)

$('ul').find('li:nth-child(-2)').css('color', '#f00')

可能吗? 如果没有,有没有办法重写nth-child() function

使用:nth-last-child(2)

这是符合标准的选择器,因此它也可以与.querySelectorAll和CSS中的文件一起使用。

 $('ul').find('li:nth-last-child(2)').css('color', '#f00') 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li>Glen</li> <li>Tane</li> <li>Ralph</li> <li>David</li> </ul> <button>Draw it</button> 

如果有多个ul元素,这也将起作用。 诸如jQuery的.eq()类的非标准选择器只会为您提供整个集合中倒数第二个元素。

尝试:nth-last-child()选择器。 它从最后一个孩子开始计数,从1开始直到最后一个孩子。

$('button').click(function(){
  $('ul').find('li:nth-last-child(2)').css('color', '#f00')
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM