const dropdownmenu = document.querySelector(".dropdownmenu") dropdownmenu.forEach(element => { console.log(element.classname) });La pregunta es ¿Cómo puedo obtener el nombre de clase del elemento de foreach en Javascript?
Dos problemas:
document.querySelector solo selecciona un elemento: el primer elemento que coincide con el selector especificado. Debe usar document.querySelectorAll para tomar una matriz de elementos..classname debe ser camelcase -> .classNameSupongo que está tratando de obtener los elementos dentro del menú desplegable. Así es como lo harías:
<ul class="dropdown-menu"> <li class="item">item1</li> <li class="item">item2</li> <li class="item">item3</li> </ul> <script> const menu = document.querySelector('.dropdown-menu') for (const elem of menu.querySelectorAll('.item')) { console.log(elem.className); } </script> Si está tratando de escuchar eventos en el menú desplegable para todos los elementos, intente colocar el detector de eventos directamente en el elemento principal y use e.target para apuntar al elemento secundario en el que se hizo clic.
<p>Click the items</p> <ul class="dropdown-menu"> <li class="item">item1</li> <li class="item">item2</li> <li class="item">item3</li> </ul> <script> const menu = document.querySelector('.dropdown-menu'); menu.addEventListener('click', (e) => { console.log(e.target.textContent); }); </script>