JavaScript JavaScript and the DOM Traversing the DOM Child Traversal

Next, change the color of each child paragraph to blue.

Hi,

What am I doing wrong in my code?

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

for(i = 0; i < paragraphs.length; i = i + 1) {

 paragraphs[i].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; 2019</p> 
        </footer>
        <script src="app.js"></script>
    </body>
</html>

2 Answers

Liam Clarke
MOD
Liam Clarke
Treehouse Moderator 19,717 Points

Hi Harshay

You are very close, there are just a couple of things that need changing slightly:

  1. Make sure you reference the variable i, inside the for loop. for (var i = 0 ...
  2. to change the color of an element, you need to access this through the style object. element.style.color
  3. make sure the style is put into quotation marks, otherwise it is trying to find a variable called blue and not the color which is what we want. 'blue'
var section = document.querySelector('section');
var paragraphs = section.children;

for(var i = 0; i < paragraphs.length;  i = i + 1) {

 paragraphs[i].style.color = 'blue'; 

}

Hope this helps!

Thank you. This worked.