Подтвердить что ты не робот

Переключить несколько классов элементов с помощью jQuery

Мне нужно переключить класс, когда я нажимаю элемент. Он отлично работает для этого элемента:

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

Но я хотел бы добавить к нему, чтобы переключать классы для всех элементов на странице, которые имеют определенный класс, например, "togToo". Для этих элементов мне нужно переключиться между "classC" и "classD".

Я почти уверен, что есть способ объединить это в один клик...

^^^ ОБНОВЛЕНО ВЫШЕ ^^^

4b9b3361

Ответ 1

Отвечено Обновлено

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

Ответ 2

Если элементы, которые нужно переключить, начинаются с одного из двух классов, вы можете переключаться туда и обратно следующим образом:

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

Ответ 3

Это должно сделать трюк:

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

Кроме того, при переключении классов я предлагаю иметь базовый класс и класс toggle вместо переключения между двумя классами.

Ответ 4

Почему вы не используете селектор классов jQuery?

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

Ответ 5

Вы можете просто сделать что-то вроде


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

внутри обработчика "click"

Ответ 6

Я делаю это так, имея несколько изображений с классом $('. img-polaroid') и class $('. drag'), когда одно из изображений нажато, оно удаляет $('. drag' ) к этому элементу после добавления его обратно ко всем им

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

Ответ 7

Если вы ищете способ переключаться через mutliple классы один за другим, а не все вместе, я быстро написал немного script, вы можете использовать:

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

он расширяет новый метод jQuery.toggleClasses(), который делает именно то, что вы хотите. проверьте его и не стесняйтесь сделать его лучше, если у вас есть улучшения:)