Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

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

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