Задать вопрос

Как отследить на какой элемент кликнули?

Всем привет.
Есть на странице 8 элементов, в каждом их них есть блок к которому нужно добавить класс при клике.
вот до чего я дошел

<div class="block delivery2">
  <img src="img/oplata/delivery2.png" alt="">
  <div class="hover"></div>
  <div class="block-hover"></div>
  <div class="block-click"></div>
</div>

var block = $('.block'),
        blockClick = $('.block-click');

    block.click(function (e) {
        var target = e.target;

        blockClick.removeClass('open');

        for (var i = 0; i < block.length; i++) {
            if (target === block[i]) {
                blockClick[i].addClass('open');
            }
        }
    })


подскажите пожалуйста в чем проблема?
  • Вопрос задан
  • 1366 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
@kulaeff
Front-end developer
Вам не нужен цикл. Вот так надо:

$(e.currentTarget).find('.block-click').addClass('open');
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
$('.block').children().click(function (e) {
$(this).parent().find('.block-click').addClass('open');
});
Ответ написан
Комментировать
@kvazarmp Автор вопроса
Я в итоге сделал похожее решение
$('.block').on('click', function () {
        $('.block-click').removeClass('open');
        $(this).find('.block-click').addClass('open');
    });

Всем спасибо.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:57
500 руб./в час
18 дек. 2024, в 11:54
2000 руб./за проект