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

Как удалить ближайший элемент из всей коллекции?

Вот код - https://codepen.io/Menson/pen/vYWdpEX

При клике на эллипс - блок удаляется (последний). Как я могу сделать это со всеми блоками? Чтобы при клике на .block__close удалялся ближайший .block соответственно.
  • Вопрос задан
  • 133 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Кого надо удалить, по кому надо кликать:

const blockSelector = '.block';
const buttonSelector = `${blockSelector} .block__close`;

Делегирование, назначаем обработчик один раз общему предку удаляемых элементов:

document.addEventListener('click', e => {
  e.target.closest(buttonSelector)?.closest(blockSelector).remove();
});

Назначаем обработчик клика каждой кнопке индивидуально:

document.querySelectorAll(buttonSelector).forEach(function(n) {
  n.addEventListener('click', this);
}, e => e.currentTarget.closest(blockSelector).replaceWith());
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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