使用jQuery切换多个元素类
我需要能够在单击元素时切换类。 它适用于该元素:
$(".main").click(function() { $(this).toggleClass("classA").toggleClass("classB"); });
但是我想添加它来为页面上具有特定类的所有元素切换类,比如说“togToo”。 对于那些我需要在“classC”和“classD”之间切换的元素。
我几乎可以肯定有一种方法可以将它组合成一次点击……
^^^上面更新^^^
答案已更新
$(".main").click(function() { $(this).toggleClass("classA").toggleClass("classB"); $('.togToo').toggleClass("classC").toggleClass("classD"); })
如果要切换的元素从两个类中的一个开始,则可以像这样来回切换:
$('#element_to_click').click( function(){ $('.togToo').toggleClass('classC classD'); });
为什么不使用jQuery类选择器?
$('.togToo').toggleClass("classC").toggleClass("classD");
这应该是诀窍:
$(".main").click(function() { $(this).toggleClass("classA").toggleClass("classB"); $(".togToo").toggleClass("classC").toggleClass("classD"); ));
此外,当切换类时,我建议使用基类和切换类,而不是在两个类之间切换。
我这样做,有多个图像与类$(’。img-polaroid’)和类$(’。拖’),当点击其中一个图像时,它删除$(’。drag’)到此将元素添加回所有元素之后的元素
$('.img-polaroid').click(function(){ if ($(this).hasClass('drag')) { $('.img-polaroid').addClass('drag'); $(this).removeClass('drag'); } });
如果你正在寻找一种方法来一个接一个地切换多个类,而不是所有的一起,我很快写了一个你可以使用的小脚本:
https://github.com/ThibaultJanBeyer/.toggleClasses-for-jQuery
它扩展了一个新的jQuery方法.toggleClasses(),它完全符合你的要求。 检查一下,如果你有改进,可以随意改进:)
你可以简单地做一些事情
$(".classC").toggleClass("ClassD");
在“点击”处理程序内
您可以一次切换X类
$(/* selector */).toggleClass('classA classB classC');