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) Getting a Handle on the DOM Practice Selecting Elements

angelod
angelod
6,694 Points

help JS challenge

let navigationLinks = document.querySelectorAll("nav"); let galleryLinks; let footerImages;

why wont this work?

js/app.js
let navigationLinks = document.querySelectorAll("nav");
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

The question asks you to select all of the links IN the “nav” element, and not the “nav” element itself.

In the code the link elements are wrapped in individual “a” tags. So try selecting those:

let navigationLinks = document.querySelectorAll(“nav a”);

I hope this helps ??

Antonio De Rose
Antonio De Rose
20,885 Points

question, does ask you to select all links, under nav, the moment it says links, it is the "a" tag that is referring, then it is a matter of getting to the exact "a" under the nav, the way you have started is right, try going through the videos again, or even try save the html file anywhere in desktop, explore / open it, then open the developer tools, by hitting F12, click console pane, then try hitting document.querySelector("nav")

let navigationLinks = document.querySelectorAll("nav");
let galleryLinks;
let footerImages;
Anthony Martinovic
Anthony Martinovic
22,984 Points

The question is: ...select all links in the nav element and assign them to 'navigationLinks'.

The challenge is asking you to select all the links inside the nav, but currently your just selecting the entire nav. You have to specify exactly what you want to return, which means being more specific in your selection, like so:

let navigationLinks = document.querySelectorAll("nav a");

This will return all the a elements (your links) that exist inside the nav element.