2013-03-27 80 views
2

jQuery不推薦使用toggle()方法。這是方式易於切換班,在尋找計算器,我發現其他各種方法來完成相同的任務(Alternative to jQuery's .toggle() method that supports eventData?)。哪個jQuery片段應該理想地爲這個標記切換類?jQuery toggle()方法的最佳選擇?

感謝

標記:

<a href="#">Toggle Class</a> 
<div class="a"></div> 

CSS:

.a{ 
background: #f2f2f2; 
} 
.b{ 
background: #ededed; 
} 
+2

爲什麼不使用'.toggleClass()'? '肘節()'只從結合事件不是來自隱藏和顯示棄用,'.toggleClass'不是[jQuery中兩個類之間切換]棄用的 – 2013-03-27 15:48:21

+0

可能重複(http://stackoverflow.com/questions/1644545/toggle -between-兩班合的jQuery) – JJJ 2013-03-27 15:53:36

+0

所選副本是不是這個問題的副本,它實際上建議使用非常代碼這個問題是試圖取代。我確定有一個確切的重複,但。 – 2013-03-27 15:56:14

回答

9

在這種情況下,只需使用.toggleClass()

$("a").click(function(){ 
    $("div").toggleClass("a b"); 
}); 
0

如果你只有1級的切換(啓用和刪除它),下面應該很好地工作:用於切換視圖

$("a").click(function(){ 
     $(this).toggleClass('class1', ''); 
}); 
+0

或者只是'$(this).toggleClass('class1')' – 2014-05-15 14:11:29

0

toggle()功能。 其中有性能問題(將推薦不要使用)

toggleClass()用於切換類。

情況下:1

<div id='mydiv' class="class1"></div> 

$('#mydiv').toggleClass('class1 class2'); 

output: <div id='mydiv' class="class2"></div> 

情況下:2

<div id='mydiv' class="class2"></div> 

$('#mydiv').toggleClass('class1 class2'); 

output: <div id='mydiv' class="class1"></div> 

情況下:3

<div id='mydiv' class="class1 class2 class3"></div> 

$('#mydiv').toggleClass('class1 class2'); 

output: <div id='mydiv' class="class3"></div> 
相關問題