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) Traversing the DOM Child Traversal

Ricky White
Ricky White
8,799 Points

What did I miss?...

Question: For every paragraph element change the color to be blue. (Hint: remember, paragraphs contains a collection of elements, so you'll need to use a loop and access each element inside.)

Error message: Bummer: There was an error with your code: TypeError: 'undefined' is not an object (evaluating 'paragraphs[i].style')

I can't seem to get this working. What did I miss? The error seems to be with the paragraphs[i].style section of code. But when I use that line (5) in the chrome console, it works fine.

Any help would be appreciated.

app.js
const section = document.querySelector('section');
let paragraphs = section.children;

for (let i = 0; paragraphs.length; i += 1) {
    paragraphs[i].style.color = 'blue';
}
index.html
<!DOCTYPE html>
<html>
    <head>
        <title>Child Traversal</title>
    </head>
    <body>
        <section>
            <p>This is the first paragraph</p>
            <p>This is a slightly longer, second paragraph</p>
            <p>Shorter, last paragraph</p>
        </section>
        <footer>
            <p>&copy; 2016</p> 
        </footer>
        <script src="app.js"></script>
    </body>
</html>

1 Answer

Looks like your for loop isn't initialized properly. The middle part should be something like: i < paragraphs.length

Ricky White
Ricky White
8,799 Points

Thanks, man. Knew it would be something simple.

"Couldn't see the trees for the forest."