Ответ 1
Отвечено Обновлено
$(".main").click(function() {
$(this).toggleClass("classA").toggleClass("classB");
$('.togToo').toggleClass("classC").toggleClass("classD");
})
Мне нужно переключить класс, когда я нажимаю элемент. Он отлично работает для этого элемента:
$(".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');
});
Это должно сделать трюк:
$(".main").click(function() {
$(this).toggleClass("classA").toggleClass("classB");
$(".togToo").toggleClass("classC").toggleClass("classD");
));
Кроме того, при переключении классов я предлагаю иметь базовый класс и класс toggle вместо переключения между двумя классами.
Почему вы не используете селектор классов jQuery?
$('.togToo').toggleClass("classC").toggleClass("classD");
Вы можете просто сделать что-то вроде
$("classC").toggle("ClassD");
внутри обработчика "click"
Я делаю это так, имея несколько изображений с классом $('. img-polaroid') и class $('. drag'), когда одно из изображений нажато, оно удаляет $('. drag' ) к этому элементу после добавления его обратно ко всем им
$('.img-polaroid').click(function(){
if ($(this).hasClass('drag'))
{
$('.img-polaroid').addClass('drag');
$(this).removeClass('drag');
}
});
Если вы ищете способ переключаться через mutliple классы один за другим, а не все вместе, я быстро написал немного script, вы можете использовать:
https://github.com/ThibaultJanBeyer/.toggleClasses-for-jQuery
он расширяет новый метод jQuery.toggleClasses(), который делает именно то, что вы хотите. проверьте его и не стесняйтесь сделать его лучше, если у вас есть улучшения:)