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

yaakov
yaakov
2,013 Points

Practice selecting elements = exercise. I can't solve it.

Hello, unhappily I can't solve this ex. and there is not any hint option there. I'd love to get some help to solve it. Thank you!

js/app.js
let navigationLinks;
let galleryLinks;
let footerImages;
index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Nick Pettit | Designer</title>
    <link rel="stylesheet" href="css/normalize.css">
    <link href='http://fonts.googleapis.com/css?family=Changa+One|Open+Sans:400italic,700italic,400,700,800' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="css/main.css">
    <link rel="stylesheet" href="css/responsive.css">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  </head>
  <body>
    <header>
      <a href="index.html" id="logo">
        <h1>Nick Pettit</h1>
        <h2>Designer</h2>
      </a>
      <nav>
        <ul>
          <li><a href="index.html" class="selected">Portfolio</a></li>
          <li><a href="about.html">About</a></li>
          <li><a href="contact.html">Contact</a></li>
        </ul>
      </nav>
    </header>
    <div id="wrapper">
      <section>
        <ul id="gallery">
          <li>
            <a href="img/numbers-01.jpg">
              <img src="img/numbers-01.jpg" alt="">
              <p>Experimentation with color and texture.</p>
            </a>
          </li>
          <li>
            <a href="img/numbers-02.jpg">
              <img src="img/numbers-02.jpg" alt="">
              <p>Playing with blending modes in Photoshop.</p>
            </a>
          </li>
        </ul>
      </section>
      <footer>
        <a href="http://twitter.com/nickrp"><img src="img/twitter-wrap.png" alt="Twitter Logo" class="social-icon"></a>
        <a href="http://facebook.com/nickpettit"><img src="img/facebook-wrap.png" alt="Facebook Logo" class="social-icon"></a>
        <p>&copy; 2016 Nick Pettit.</p>
      </footer>
    </div>
  <script src="js/app.js"></script>
  </body>
</html>

3 Answers

Heidi Fryzell
seal-mask
MOD
.a{fill-rule:evenodd;}techdegree seal-36
Heidi Fryzell
Front End Web Development Treehouse Moderator 21,830 Points

Hello Yaakov,

The directions ask you to select "select all links inside the <nav> element and assign them to the variable navigationLinks:

You will need to use:

document.querySelectorAll('');

"All", because you want to select multiple links not just one.

Then to target the the links inside navigation you need to use descendent selectors to select the <nav> then go down to the <li> then "descend down to the <a> elements which are the links.

If you still can't figure it out let me know and I will give you more clues or the answer if you really want it. šŸ˜‰

Happy coding!

yaakov
yaakov
2,013 Points

Hi Heidi, thank you for your answer. My mistake was that I wrote:

document.querySelectorAll('nav li')

instead

document.querySelectorAll('nav a')

I don't really know why the ('nav li') version doesn't work while a li element include an a.

Heidi Fryzell
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Heidi Fryzell
Front End Web Development Treehouse Moderator 21,830 Points

Hi Yaakov,

I actually think ('nav li') would work but since the directions specifically asked for the "links" I think they wanted the answer to me ('nav a').

I'm glad you figured it out.

yaakov
yaakov
2,013 Points

Thank you very much for your help. yaakov