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

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

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

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

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

В чем может быть проблема? Всю голову сломал
  • Вопрос задан
  • 285 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
potapchino
@potapchino
Потому что .getElementsByClassName() возвращает коллекцию, а getElementByID непосредственно сам элемент.

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

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

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