#javascript
#язык JavaScript
Вопрос:
Я хочу выбрать все элементы моей навигации с помощью класса (‘nav-link’) и добавить к ним прослушиватель addevent, чтобы я мог закрыть свое меню гамбургеров.
const ifNavClick = () =gt; { const burgeractive = document.querySelector(".burger-menu"); const navActive = document.querySelector('.main-nav'); const navLinks = document.getElementsByClassName('.nav-link') for (let i = 0; i lt; navActive.length; i ) { if (navLinks == '.nav-links') { navLinks.addEventListener("click", () =gt; { navActive.classList.remove('nav-active'); burgeractive.classList.remove('active'); }); } } };
Комментарии:
1. использовать
querySelectorAll
2. Кстати, если вы используете
getElementsByClassName
, введите фактическое имя класса, а не селектор. Такnav-link
что вместо.nav-link
этого .3. Пытаться зацикливаться
navActive
подобным образом не имеет смысла — вы использовалиquerySelector
, так что это вернет один-единственный HTML-элемент (и у этого элемента даже не будетlength
свойства, это не массив). Иif (navLinks == '.nav-links')
тоже не имеет никакого смысла —getElementsByClassName
возвращена коллекция HTMLCollection, и попытка «сравнить» ее со строковым значением-это операция, которая никоим образом не имеет смысла.