Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript and the DOM (Retiring) Getting a Handle on the DOM A Simple Example

Patrik Horváth
Patrik Horváth
11,110 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,650 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,110 Points

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