I am a noobie programmer, using MAC OS and Visual Studio Code trying to build a responsive fitness routine in HTML for personal use, as a personal project.
I am trying to get all my buttons to turn green on click, the first one is turning green fine, but the rest are not. I have uploaded a code pen here: https://codepen.io/3991chris/full/OJEZwKL
Any help would be awesome!
I tried
let btnDone = document.querySelectorAll('#done');
2
Answers
There’s two main issues in your code. Firstly all the buttons have the same
#done
id applied to them, which is invalid.id
must be unique within the DOM. Change these to aclass
.From there you need to amend your JS code to use
querySelectorAll('.done')
so that it returns a collection of all the elements you can loop through. Within that loop you can bind your event handlers to each button.Secondly, it looks like your goal is to toggle the styling of the buttons on successive clicks. Therefore you should
toggle()
the class on the element, not useremoveClickHandler()
.I add Jquery CDN, and change your javascript.
I hope you understand it.