2011-03-31 82 views
23

我需要能夠切換類,當我點擊一個元素。它工作正常,該元素:用jQuery切換多個元素類

$(".main").click(function() { 
    $(this).toggleClass("classA").toggleClass("classB"); 
}); 

但我想給它添加切換類具有特定類網頁上的所有元素,說「togToo」。對於那些我需要在「classC」和「classD」之間切換的元素。

我幾乎可以肯定有一種方法給組合成一個點擊...

^^^修訂以上^^^

回答

10

回答更新

$(".main").click(function() { 
    $(this).toggleClass("classA").toggleClass("classB"); 
    $('.togToo').toggleClass("classC").toggleClass("classD"); 
}) 
+0

我不知道你的意思 – Neal 2011-03-31 19:52:02

+0

我需要切換其他(二級)元素的類時,我只點擊該主元素。 – santa 2011-03-31 19:52:33

+0

嗯一秒 – Neal 2011-03-31 19:53:47

0

您可以簡單地做一些類似於


$("classC").toggle("ClassD"); 

「點擊」處理程序中

2

這應該做的伎倆:而不是之間切換

$(".main").click(function() { 
    $(this).toggleClass("classA").toggleClass("classB"); 
    $(".togToo").toggleClass("classC").toggleClass("classD"); 
)); 

此外,切換類時,我建議有一個基類,以及撥動類,兩個班。

2

爲什麼不使用jQuery類選擇器?

$('.togToo').toggleClass("classC").toggleClass("classD"); 
+0

對我來說工作正常 – Henry8 2015-06-10 17:28:28

73

如果要切換的元素與兩個類中的一個開始,你就可以來回切換是這樣的:

$('#element_to_click').click(function(){ 
    $('.togToo').toggleClass('classC classD'); 
}); 
+23

這應該是公認的答案。 – 2014-06-24 08:31:50

0

我做這種方式,具有一流的多張圖片$('。img-polaroid')和class $('。drag'),當其中一個圖像被點擊時,它將這個元素加回到所有元素後刪除$('。drag')

$('.img-polaroid').click(function(){ 
    if ($(this).hasClass('drag')) 
     { 
     $('.img-polaroid').addClass('drag'); 
     $(this).removeClass('drag'); 
    } 
}); 
0

如果您正在尋找一種方法來切換樂通過複式班一個後對方,而不是一起我很快就寫了一個小腳本,你可以使用:但這正是你想要的

https://github.com/ThibaultJanBeyer/.toggleClasses-for-jQuery

它擴展了一個新的jQuery方法.toggleClasses()。檢查出來,並感到自由,使其更好,如果你有改善:)