Tengo la siguiente función JS que al hacer clic hace que se seleccione el elemento elegido (está cambiando el color de fondo) y debería hacer que todos los demás elementos eliminen esta clase. Sin embargo, por alguna razón onClick , la clase "menu-category-hover" no se elimina.
function GetData(allMenuItems, theCategoryId) { // Remove selected class on other Elements allMenuEl = document.querySelectorAll('menu-category'); for (var i = 0; i < allMenuEl; i++) { allMenuEl[i].classList.remove("menu-category-hover"); } ..... // On element Click var hoverEl = document.getElementById("menu_cat_" + theCategoryId); hoverEl.classList.add("menu-category-hover"); } <div class="menu-category menu-category-hover" onclick="GetData(, 13)" id="menu_cat_13"> <img src="/images/85783_burger.png" class="menu-home-image-img"> <p class="menu-home-name">Burgers</p> <div>Mira esto
function GetData(allMenuItems, theCategoryId) { // Remove selected class on other Elements allMenuEl = document.querySelectorAll('.menu-category'); //<--- class indicator `.` for (var i = 0; i < allMenuEl.length; i++) { //<-- not added allMenuEl.length allMenuEl[i].classList.remove("menu-category-hover"); } ..... // On element Click var hoverEl = document.getElementById("menu_cat_" + theCategoryId); hoverEl.classList.add("menu-category-hover"); }