.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
|
|