@usedtoknow

Разница .getElementsByClassName и .getElementByID?

Всем привет! Прошу помочь. Я обычно присваиваю классы всем блокам, но почему-то, когда я присваиваю класс менюшке, скрипт открытия меню по клику не работает:
https://www.w3schools.com/code/tryit.asp?filename=...

Но, как только я меню все на ID, то все работает замечательно:

https://www.w3schools.com/code/tryit.asp?filename=...

В чем может быть проблема? Всю голову сломал
  • Вопрос задан
  • 275 просмотров
Решения вопроса 1
potapchino
@potapchino
Потому что .getElementsByClassName() возвращает коллекцию, а getElementByID непосредственно сам элемент.

Работать будет вот так:
document.getElementsByClassName("menu_1")[0].addEventListener("click", openMenu);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@UNy
обратите внимание на Elements и Element в классе и айдишнике. Может быть несколько элементов с одинаковым классов которые при .getElementsByClassName кладутся в массив, а айдишник должен быть уникальным.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы