.parents( [selector ] )返回值: jQuery
描述: 获取当前匹配元素集中每个元素的祖先,可以选择性地通过选择器进行过滤。
-
添加版本: 1.0.parents( [selector ] )
-
selector类型: 选择器包含选择器表达式字符串,用于匹配元素。
-
给定一个表示 DOM 元素集的 jQuery 对象,.parents()
方法允许我们搜索 DOM 树中这些元素的祖先,并从匹配的元素中构建一个新的 jQuery 对象,从直接父级向上排序;元素按从最近父级到最外层父级的顺序返回。当原始集中有多个 DOM 元素时,结果集也将按原始元素的相反顺序排列,并删除重复项。
.parents()
和 .parent()
方法类似,只是后者只向上遍历 DOM 树一级。此外,$( "html" ).parent()
方法返回一个包含 document
的集合,而 $( "html" ).parents()
返回一个空集合。
该方法可以选择性地接受与我们可以传递给 $()
函数相同的类型选择器表达式。如果提供了选择器,则会通过测试元素是否与它匹配来过滤元素。
考虑一个页面上有一个基本的嵌套列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
|
如果我们从项目 A 开始,我们可以找到它的祖先。
1
|
|
此调用的结果是为第 2 级列表、项目 II 和第 1 级列表(以及 DOM 树中一直到 <html>
元素)设置红色背景。由于我们没有提供选择器表达式,因此所有祖先都是返回的 jQuery 对象的一部分。如果我们提供了一个选择器表达式,则只有这些祖先中匹配的项目会被包含在内。
示例
查找每个 b 的所有父元素。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
|
演示
点击查找每个 span 的所有唯一的 div 父元素。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
|