使用jQuery获取每个父项的最后一个孩子

时间:2013-07-18 15:02:46

标签: jquery jquery-selectors css-selectors pseudo-class

有没有一种简单的方法可以使用jQuery选择每个列表的最后一个li?

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>
<ul>
    <li>1</li>
    <li>2</li>
</ul>

我尝试过这两种方法,但它们都只返回一个元素。

$("ul li").last()
$("ul li:last")

我会使用CSS:last-child伪类,但由于它是在CSS3中引入的,IE8不支持它,我不能

3 个答案:

答案 0 :(得分:5)

:last-child选择器就是您所需要的。与CSS3 :last-child选择器的逻辑相同,但您可以在jQuery中自由使用它,因为即使浏览器的CSS引擎不理解它,jQuery也会为您提供它。

$("ul li:last-child")

来自文档:

  

虽然:last只匹配一个元素,但:last-child可以匹配更多元素   不止一个:每个父母一个。

Nice little demo attached

答案 1 :(得分:5)

  

我会使用CSS:last-child伪类,但由于它是在CSS3中引入的,IE8不支持它,我不能

你可以使用jQuery来选择你的元素,因为jQuery本身实现它,以便在CSS中本身不支持它的浏览器仍然可以使用它:

$("ul li:last-child")

答案 2 :(得分:1)

解决方案:

$(document).ready(function()
                  {
                      $('ul li:last-child').css("color","red");
                  });

检查这个小提琴:http://jsfiddle.net/ganeshprabhu1994/surve/2/