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

Az.*_*Az. 6 jquery css-selectors pseudo-class jquery-selectors

有没有一种简单的方法可以使用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>
Run Code Online (Sandbox Code Playgroud)

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

$("ul li").last()
$("ul li:last")
Run Code Online (Sandbox Code Playgroud)

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

kap*_*apa 5

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

$("ul li:last-child")
Run Code Online (Sandbox Code Playgroud)

从文档:

虽然:last匹配只有一个元素,但:last-child可以匹配多个:每个父元素一个.

很好的小演示附加


Bol*_*ock 5

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

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

$("ul li:last-child")
Run Code Online (Sandbox Code Playgroud)