JavaScript JavaScript and the DOM Getting a Handle on the DOM A Simple Example

Patrik Horváth
Patrik Horváth
11,072 Points

DOM JS no works ?

i fallowed whole code in video and its no works anyway ...

i have included JS script tag before Body closing

Code :

const tr = document.getElementsByClassName("prelozene");
    tr.addEventListener('click', () => {
        tr.style.color = 'red';
    });

Error in console :

Uncaught TypeError: tr.addEventListener is not a function at app.js:2

1 Answer

Stephan Olsen
Stephan Olsen
6,646 Points

When you select elements by class, you get an array of items back. Because of this, your tr variable is actually an array, and you can't use addEventListener on an array. What you need to do is loop through each item in the array, and add an eventlistener to them.

Patrik Horváth
Patrik Horváth
11,072 Points

yea this make sense cause id can be just 1 per page and class can be a lot of more :)