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

原创 jQuery 选择器(parent > child)详解

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

内容目录

jQuery的parent > child选择器(子代选择器)用于匹配parent元素的所有子辈child元素,将其封装为jQuery对象并返回。

注意:选择器child的查找范围必须是"parent元素"的子辈元素不包括"孙子辈"及更后辈的元素。
如果你想在所有的后代元素中查找,请使用后代选择器(ancestor descendant)

语法

// 这里的parent表示具体的父辈选择器
// 这里的child表示具体的子辈选择器
jQuery( "parent > child" )

>号两侧的空格可以省略,但不建议省略,否则字符过于紧密可能影响阅读。

参数

参数 描述
parent 一个有效的父辈选择器
child 一个有效的子辈选择器,只用于匹配父辈选择器的子元素

返回值

返回封装了在父辈元素内查找到的符合条件的子元素的jQuery对象。

如果找不到与父辈选择器匹配的DOM元素,或者在符合父辈选择器的DOM元素内找不到符合子代选择器的子元素,则返回一个空的jQuery对象。

符合父辈选择器的父辈DOM元素可能有多个,在一个父辈DOM元素内也可能查找到多个子DOM元素,返回的jQuery对象中封装了符合条件的所有DOM元素。

示例&说明

以下面这段HTML代码为例:

<div id="n1">
	<p id="n2" class="test">
		<span id="n3" class="a">Hello</span>
	</p>
	<p id="n4" class="detail">
		<span id="n5" class="b codeplayer">World
			<span id="n6" class="c">365mini.com</span>
		</span>
	</p>
</div>

现在,我们想要一次性查找到p标签内所有的span子元素,则可以编写如下jQuery代码:

// 选择了id分别为n3、n5的两个元素
// n6不是p标签的子元素,而是孙子辈的元素,因此无法匹配
$("p > span");

接着,我们查找span标签的span子元素,则可以编写如下jQuery代码:

// 选择了id为n6的一个元素
$("span > span");

我们可以配合使用所有元素选择器(*)来实现只查找孙子辈元素的选择器。例如:我们想要查找id为n1的元素的孙子辈的span标签,对应的jQuery代码如下:

// 选择了id分别为n3、n5的两个元素
$("#n1 > * > span");

运行代码

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

0 条评论

撰写评论

打开导航菜单