JavaScript JavaScript and the DOM Getting a Handle on the DOM Selecting Multiple Elements

Evandro Delgado
Evandro Delgado
Full Stack JavaScript Techdegree Student 7,637 Points

What I am getting the error "There Should be a 7 list Item "

I think something is wrong whit my loop?

js/app.js
var listItems = document.querySelectorAll("#rainbow");
var colors = ["#C2272D", "#F8931F", "#FFFF01", "#009245", "#0193D9", "#0C04ED", "#612F90"];

for(var i = 0; i < listItems.length; i += 1) {
  listItems[i].style.color = colors[i];    
}
index.html
<!DOCTYPE html>
<html>
  <head>
    <title>Rainbow!</title>
  </head>
  <body>
    <ul id="rainbow">
      <li>This should be red</li>
      <li>This should be orange</li>
      <li>This should be yellow</li>
      <li>This should be green</li>
      <li>This should be blue</li>
      <li>This should be indigo</li>
      <li>This should be violet</li>
    </ul>
    <script src="js/app.js"></script>
  </body>
</html>

1 Answer

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 49,890 Points

You are selecting the ul not the list items. See Descendant Selector here for how to go about selecting the list items.