Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript and the DOM Getting a Handle on the DOM Return Elements Using CSS Selectors

ilia martynenko
PLUS
ilia martynenko
Courses Plus Student 4,961 Points

Just lost, poor explanation of topic...

Actually don't understand why this code return only one link... let galleryLinks = document.querySelectorAll("#gallery"); No explanation in video, page from MDN doesn't help.

app.js
let navigationLinks = document.querySelectorAll("nav a");
let galleryLinks = document.querySelectorAll("#gallery");
let footerImages;
index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Treehouse Student | 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>Treehouse Student</h1>
        <h2>Designer</h2>
      </a>
      <nav>
        <ul>
          <li><a href="#" class="selected">Work</a></li>
          <li><a href="#">About</a></li>
          <li><a href="#">Contact</a></li>
        </ul>
      </nav>
    </header>
    <div id="wrapper">
      <section>
        <ul id="gallery">
          <li>
            <a href="#">
              <img src="img/numbers-01.jpg" alt="The number 1 painted with colors and textures.">
              <p>Experimentation with color and texture.</p>
            </a>
          </li>
          <li>
            <a href="#">
              <img src="img/numbers-02.jpg" alt="The number 2 painted with various colors blended together.">
              <p>Playing with blending modes in Photoshop.</p>
            </a>
          </li>
        </ul>
      </section>
      <footer>
        <a href="https://twitter.com/treehouse"><img src="img/twitter-wrap.png" alt="Twitter Logo" class="social-icon"></a>
        <a href="https://www.facebook.com/TeamTreehouse"><img src="img/facebook-wrap.png" alt="Facebook Logo" class="social-icon"></a>
        <p>&copy; Treehouse Student.</p>
      </footer>
    </div>
    <script src="app.js"></script>
  </body>
</html>

2 Answers

Armin Kadic
Armin Kadic
16,197 Points

Hi Ilia!

I guess you are stuck at the second challenge?

"Next, select all <a> elements inside the unordered list with the ID gallery and assign them to the variable galleryLinks.

If that's the case, then you forgot to add the "a" next to the "gallery", since it asks you to select all <a> elements inside the ul gallery. You selected the entire gallery, so all that is needed is an "a" next to the #gallery - let galleryLinks = document.querySelectorAll("#gallery a");

I hope this clarifies it for you, and feel free to ask if you need more help :)

ilia martynenko
PLUS
ilia martynenko
Courses Plus Student 4,961 Points

Armin, Thank you so much for your help, everything works fine, when used document.querySelectorAll("#gallery") - received a message that it should be 2 objects not one, maybe that's why I'm confused Thx one more time for your help!!!

Armin Kadic
Armin Kadic
16,197 Points

I'm glad I could help :)