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

Derek Hutson
Derek Hutson
9,740 Points

Rainbow ID?

Hi all, having trouble here.. I'm sure its a simple solution but I am missing something. Thanks for help!

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

for(var i = 0; i < colors.length; i ++) {
  listItems[i].style.color = colors[i];    
}

listItems = document.getElementById('rainbow');
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

Steven Parker
Steven Parker
173,876 Points

Your task is to assign the correct value to "listItems" on the top line.

Take a look at the HTML. All the list items are inside a ul that has an id of "rainbow". Using one of the selector methods you have learned, assign the entire collection of list items to the variable. There are several possible choices, any one of them will work when correctly used.

If you're still stuck, you might want to look at some of the answers to the other questions asked about this same challenge.