Cada vez que agrego un addEventListener, o un conmutador en javascript, aparece "no se puede leer **** de nulo" o "no se puede leer de indefinido". Probé muchas formas diferentes de resolverlo, eliminando el archivo javascript y volviéndolo a crear, poniendo todo dentro de un "addEventListener('DOMContentLoaded, ...'), moviendo el código javascript en el archivo html. Nada funciona, no sé por qué Probé todas las formas que dicen en internet que funcionan.
const hamn= document.getElementById('#ham') const navLinks= document.getElementById('#navLink') function openMenu() { navLinks.classList.toggle('hidden') } hamn.addEventListener('click', openMenu)getElementById ya sabe que va a pasar una id (¡de ahí el ById en el nombre!), por lo que debe eliminar el # de la cadena que se le pasó. El # solo se usa en CSS para expresar un selector de id .
Solo necesitaría el # si, en lugar de getElementById , estuviera usando querySelector(cssSelectorString) que espera que pase un selector de CSS válido.
const hamn= document.getElementById('ham') const navLinks= document.getElementById('navLink') function openMenu() { navLinks.classList.toggle('hidden') } hamn.addEventListener('click', openMenu)