Задать вопрос
dev_max
@dev_max
Front-end developer

Как сделать чтобы обработчик срабатывал в том блоке где нажали кнопку?

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

Вот код:

$('.button-more').on('click tap', function (e) {
              e.preventDefault();
              var $this = $(this);

              if ( ! $this.hasClass('active') ) {
                  $(".team-content").find('p').slideDown(300);
                  $this.find('span').text('Less');
              } else {
                  $(".team-content").find('p:not(:first)').slideUp(300);
                  $this.find('span').text('Read More');
              }

              $this.toggleClass('active');
          });
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
dev_max
@dev_max Автор вопроса
Front-end developer
Всем спасибо, проблема решена! вот код
$('.button-more').on('click tap', function (e) {
              e.preventDefault();
              var $this = $(this);

              if ( ! $this.hasClass('active') ) {
                  $this.parent().find('p').slideDown(300);
                  $this.find('span').text('Less');
              } else {
                  $this.parent().find('p:not(:first)').slideUp(300);
                  $this.find('span').text('Read More');
              }


              $this.toggleClass('active');
          });
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Maksum77
элемент, на котором сработал обработчик, определяется при помощи e.eventTarget, и уже относительно этого элемента меняй содержимое
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы