You're trying to add an event listener to a collection of nodes (querySelectorAll
for .nav-link
vs querySelector
for .nav-toggle
). You can either iterate over the collection and add your click
event listener to each item or simply listen to the parent element of the .nav-link
s:
const navToggle = document.querySelector('.nav-toggle')// replace this with something more sensibleconst navLinkParent = document.querySelector('.nav-link').parentElement;navToggle.addEventListener('click', () => { document.body.classList.toggle('nav-open')})// this is adding a click listener to ONE elementnavLinkParent.addEventListener('click', (event) => { // check if the clicked element matches what you're after if (event.target.classList.contains('nav-link')) { document.body.classList.remove('nav-open') }})