您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月16日 10:46

原创 jQuery 选择器(:last-child)详解

4990 次浏览 读完需要≈ 6 分钟

内容目录

jQuery的:last-child选择器用于匹配作为父元素的最后一个子元素的元素,将其封装为jQuery对象并返回。

与该选择器相对的是:first-child选择器,用于匹配作为父元素的第一个子元素的元素。

注意:last-child选择器与:last选择器的不同之处在于:
:last选择器只匹配一个元素,并且是所有匹配的元素中的最后一个元素;
:last-child选择器则需要判断匹配到的元素是否是其父元素的最后一个子元素,如果是就保留,否则将被舍弃。

语法

jQuery1.1.4 新增该选择器。

// 这里的selector表示具体的选择器
jQuery( "selector:last-child" )

参数

参数 描述
selector 一个有效的选择器。

返回值

返回封装了匹配作为父元素的最后一个子元素的元素的jQuery对象。

如果找不到任何相应的匹配,则返回一个空的jQuery对象。

jQuery先会根据选择器selector去查找所有匹配的元素,再看它们是否是自己父元素的"小儿子"(最后一个子元素),如果是就保留,否则舍弃掉该元素。最终匹配到的元素就是所有保留下来的元素

示例&说明

以下面这段HTML代码为例:

<div id="n1">
	<div id="n2">
		<ul id="n3">
			<li id="n4" class="c">item1</li>
			<li id="n5" class="c">item2</li>
			<li id="n6">item3</li>
		</ul>
	</div>
	<div id="n7">
		<ul id="n8">
			<li id="n9">item1</li>
			<li id="n10">item2</li>
		</ul>
	</div>
    CodePlayer
</div>

现在,我们查找所有作为父元素的"小儿子"的div标签,则可以编写如下jQuery代码:

// 选择了id分别为n1、n7的两个元素
// 这里的n1是"父元素"body标签的"小儿子";n7是"父元素"n1的"小儿子"
// 虽然在n1之内、n7之后有文本内容,但文本内容不算子元素,因此n7仍然是n1的"小儿子"
$("div:last-child");

接着,查找所有匹配ul li的元素,再查找其中那些元素是父元素的"小儿子",则可以编写如下jQuery代码:

// 选择了id分别为n6、n10的两个元素
$("ul li:last-child");

查找所有包含类名c的li标签,再查找这些元素是否是父元素的"小儿子",对应的jQuery代码如下:

// 没有选择任何元素,返回一个空的jQuery对象。
// 虽然包含类名"c"的li标签有n4、n5两个元素,但它们都不是父元素的"小儿子",因此无法匹配
$("li.c:last-child");

运行代码

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单