temp-market
@temp-market
Фронтэнд разработчик

Как правильно использовать this в javascript?

Есть такой HTML код
<div class="coment-count">Коментарий - 2</div>
<div class="zametki-comm">
     <ul class="zamet-comm">
          <li>........</li>
          <li>........</li>
     <ul>
<div class="formadd">
код формы добавления
</div>
</div>

хочу сделать чтоб при клике на coment-count скрывался блок zametki-comm.
Дело в том что на странице такая структура комментарий не одна, а несколько
$(function(){
$('.coment-count').click(function() {
      $('.zametki-comm').slideToggle(500);
    });
})

Мой скрипт скрывает и показывает все подряд разом, а я хочу чтоб по одному скрывало.
  • Вопрос задан
  • 2276 просмотров
Решения вопроса 4
@Zewkin
Я у мамы фронтэндер
$('.coment-count').on('click', function() {
	$('+ .zametki-comm', this).slideToggle(500);
});
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Малоизвестная фича jQuery — передавать в обработчики событий первым аргументом объект события.
Еще более скрытая фича событий — наличие поля target, в котором содержится элемент, на котором событие произошло.

Заюзав эту продвинутую магию, получим:
$('.comment-count').on('click', function(event) {
        $(event.target).next('.zametki-comm').slideToggle(500);
});


А впрочем, можно и как @Zewkin предложил.
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
$('.coment-count').on('click', function() {
	$(this).next().slideToggle(500);
});
Ответ написан
Комментировать
dimka-dooz
@dimka-dooz
front-end разработчик)
$('.coment-count').each(function(){
var self = $(this);
self.on('click', function(){
self.next().slideToggle(500)
})
})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект