jquery добавить или удалить класс с помощью toggleClass () в методе click

0

Привет, я создал функцию аккордеона, используя функцию jquery функцией toggleClass.

моя скрипка для этого случая

здесь, щелкая по классу accordion active класс добавится к тому же классу. Я добавил некоторые стили в active класс для отображения дочерних классов. Теперь проблема заключается в том, что аккордеон переключается, если мы нажимаем какой-либо из классов accordion или его дочерних классов, что на нем не так? мой JS

$('.accordion').on('click', function() {
            $(this).toggleClass('active'); 
        });
Теги:

3 ответа

3
Лучший ответ
$('.accordion > a.title').on('click', function() {
  $(this).parent().toggleClass('active'); 
});

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

  • 0
    да уж.! parent () работает нормально .. :)
1

вы должны использовать .parent() Jquery.

$('.title').on('click', function() {
    $(this).parent().toggleClass('active'); 
});

Демо-версия

0

Попробуй это:

   $('.accordion > a.title').on('click', function() {
       $(this).parent().toggleClass('active'); 
   });

или

   $('a.title').on('click', function() {
       $(this).parent().toggleClass('active'); 
   });

здесь обновлено Демо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню