</> Praktum

Главная / JavaScript / Element.closest()

Справочник JavaScript

closest(): ищем ближайшего предка

closest(selector) проверяет сам элемент, затем его родителей и возвращает первый узел, подходящий CSS-селектору. Если совпадения нет, результат равен null.

Рабочий пример

document.querySelector(".catalog").addEventListener("click", (event) => {
  const button = event.target.closest("[data-action=remove]");
  if (!button) return;
  button.closest(".card")?.remove();
});

Метод особенно полезен, когда пользователь нажимает на иконку внутри кнопки: event.target будет иконкой, а closest найдёт саму кнопку.

Когда применять

При делегировании дополнительно проверяй, что найденный элемент находится внутри нужного контейнера, если DOM может содержать вложенные независимые области.

Проверь пример самостоятельно: измени исходные данные, убери одну строку и сравни результат. Такой короткий эксперимент помогает увидеть роль каждого свойства или метода и не превращает обучение в механическое копирование.

Частые ошибки

  • Не проверять null
  • Путать closest с querySelector
  • Удалять предка без ограничения конкретным классом

Задание

Повесь один обработчик на список и удаляй карточку по клику на любую часть её кнопки удаления.

Проверка: результат должен работать с клавиатуры, не создавать ошибок в консоли и оставаться понятным без пояснений автора.

Ещё в разделе JavaScript