.slice( start [, end ] )傳回: jQuery
說明: 將符合的元素集合縮小到由索引範圍指定的子集合。
假設有一個 jQuery 物件代表一組 DOM 元素,.slice()
方法會建構一個新的 jQuery 物件,其中包含由 start
和(選擇性)end
參數指定的元素子集合。提供的 start
索引識別集合中某個元素的位置;如果省略 end
,則此元素之後的所有元素都會包含在結果中。
考慮一個包含簡單清單的頁面
1
2
3
4
5
6
7
|
|
我們可以將此方法應用於清單項目
1
|
|
此呼叫的結果是項目 3、4 和 5 的背景為紅色。請注意,提供的索引是從 0 開始,且是指 jQuery 物件中元素的位置,而不是 DOM 樹中的位置。
end 參數允許我們進一步限制選取的範圍。例如
1
|
|
現在只有項目 3 和 4 被選取。索引再次從 0 開始;範圍延伸到指定索引,但不包含該索引。
負索引
jQuery .slice()
方法仿照陣列的 JavaScript .slice()
方法。它模仿的功能之一是能夠將負數傳遞為 start
或 end
參數。如果提供負數,這表示從集合的末尾而不是開頭開始的位置。例如
1
|
|
這次只有清單項目 4 變成紅色,因為它是從末尾開始的兩個 (-2
) 和從末尾開始的一個 (-1
) 之間範圍中的唯一項目。
範例
根據隨機切片將 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
59
60
61
62
|
|
示範
選取所有段落,然後切片選取,僅包含第一個元素。
1
|
|
選取所有段落,然後切片選取,僅包含第一個和第二個元素。
1
|
|
選取所有段落,然後切片選取,僅包含第二個元素。
1
|
|
選取所有段落,然後切片選取,僅包含第二個和第三個元素。
1
|
|
選取所有段落,然後切片選取,僅包含第三個元素。
1
|
|