內容
.toggleClass( className )傳回:jQuery
說明:根據類別的存在或 state 參數的值,新增或移除一或多個類別,至符合的元素集合中的每個元素。
-
新增版本:1.0.toggleClass( className )
-
className類型:字串一個或多個類別(以空白分隔),將針對已配對的集合中每個元素進行切換。
-
-
版本新增:1.3.toggleClass( className, state )
-
版本新增:3.3.toggleClass( classNames )
-
classNames類型:陣列一個陣列,包含將針對已配對的集合中每個元素進行切換的類別。
-
-
版本新增:3.3.toggleClass( classNames, state )
-
版本新增:1.4.toggleClass( function [, state ] )
-
function傳回一個或多個以空白分隔的類別名稱的函式,這些類別名稱將在已配對的集合中每個元素的類別屬性中進行切換。接收集合中元素的索引位置、舊的類別值和狀態作為參數。
-
state類型:布林值布林值,用於決定是否新增或移除類別。
-
-
版本新增:3.3.toggleClass( function [, state ] )
-
function傳回一個或多個以空白分隔的類別名稱或一個類別名稱陣列,用於切換在相符集合中每個元素的類別屬性。接收集合中元素的索引位置、舊類別值和狀態作為引數。
-
state類型:布林值布林值,用於決定是否新增或移除類別。
-
此方法將一個或多個類別作為其參數。在第一個版本中,如果相符元素集合中的元素已經有類別,則會將其移除;如果元素沒有類別,則會將其新增。例如,我們可以將 .toggleClass()
套用至一個簡單的 <div>
1
|
|
當我們第一次套用 $( "div.tumble" ).toggleClass( "bounce" )
時,我們會得到以下結果
1
|
|
當我們第二次套用 $( "div.tumble" ).toggleClass( "bounce" )
時,<div>
類別會回復為單一的 tumble
值
1
|
|
將 .toggleClass( "bounce spin" )
套用至同一個 <div>
會在 <div class="tumble bounce spin">
和 <div class="tumble">
之間交替。
.toggleClass()
的第二個版本使用第二個參數來決定是否應該新增或移除類別。如果此參數的值為 true
,則會新增類別;如果為 false
,則會移除類別。基本上,陳述
1
|
|
等同於
1
2
3
4
5
|
|
從 jQuery 1.4 開始,如果沒有將引數傳遞至 .toggleClass()
,則會在第一次呼叫 .toggleClass()
時切換元素上的所有類別。同樣從 jQuery 1.4 開始,可以透過傳入一個函式來決定要切換的類別名稱。
1
2
3
4
5
6
7
|
|
如果 <div class="foo">
元素的父元素有 bar
類別,則此範例會為這些元素切換 happy
類別;否則,它會切換 sad
類別。
範例
當段落被按一下時,切換「highlight」類別。
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
|
|
示範
在每次第三次按一下該段落時,將「highlight」類別新增到被按一下的段落,每次第一次和第二次按一下時,移除它。
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
|
|
示範
切換每個 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
63
64
65
66
67
68
69
|
|