I have this piece of code below which is being used on a mobile navigation section of a website.
const toggleButton = document.querySelector(".header__nav-mobile .toggle");
const subMenu = document.querySelector(".header__nav-mobile .menu-item-has-children .sub-menu");
function toggleMenuItems() {
if (toggleButton .classList.contains("open")) {
toggleButton.classList.remove("open");
subMenu.classList.remove("open");
} else {
toggleButton.classList.add("open");
subMenu.classList.add("open");
}
}
toggleButton.addEventListener("click", toggleMenuItems);
This works perfectly, but only for the very first item, so I am now using querySelectorAll below, but to no avail.
const toggleButton = document.querySelectorAll(".header__nav-mobile .toggle");
const subMenu = document.querySelectorAll(".header__nav-mobile .menu-item-has-children .sub-menu");
function toggleMenuItems() {
for (let i = 0; i < toggleButton.length; i++) {
if (toggleButton.classList.contains("open")) {
toggleButton .classList.remove("open");
subMenu.classList.remove("open");
} else {
toggleButton.classList.add("open");
subMenu.classList.add("open");
}
}
}
toggleButton.addEventListener("click", toggleMenuItems);
Can someone point out where I'm going wrong please?