@dsfafdagsadf

Почему модульное окно не закрывается, по клику по крестику?

Вот код
https://jsfiddle.net/dLoqjk7h/
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 2
Seasle
@Seasle Куратор тега JavaScript
event.target == modal меняем на event.target.closest('.modal') в данном случае.

Или убираем window.onclick. document.getElementsByClassName возвращает массив элементов, поэтому либо span[0].onclick либо var span = document.querySelector('.close');.
Ответ написан
Комментировать
потому что
var span = document.getElementsByClassName("close");

возвращает HTMLCollection, т.е. не один элемент а список элементов.

А дальше идёт навешивание обработчика клика как для единственного элемента:
span.onclick = function() {
  modal.style.display = "none";
}

нужно сначала взять элемент из HTMLCollection и на него уже навешивать обработчик

span[0].onclick = function() {
  modal.style.display = "none";
}

или в цикле обходить все элементы HTMLCollection и на каждый навешивать обработчик
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект