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

Benjamin Cohen
Benjamin Cohen
Full Stack JavaScript Techdegree Student 6,045 Points

Not accepting a variable consisting only of the 3 links demanded by the challenge

I wrote the following 2 lines of javaScript;

let itemsList = document.querySelector('ul') let navigationLinks = itemsList.children

If I show navigationLinks in the console I get;

TMLCollection(3) [li, li, li] 0: li 1: li 2: li length: 3

Each node 0, 1 and 2 contain a link, so I'm not sure why this isn't being accepted. I've been on this for a while and have learned a lot about the DOM trying to figure this out, but I must be misunderstanding the question. Any help would be appreciated.

let itemsList = document.querySelector('ul')
let navigationLinks = itemsList.children
let galleryLinks;
let footerImages;
<!DOCTYPE html>
    <meta charset="utf-8">
    <title>Nick Pettit | Designer</title>
    <link rel="stylesheet" href="css/normalize.css">
    <link href='|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">
      <a href="index.html" id="logo">
        <h1>Nick Pettit</h1>
          <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>
    <div id="wrapper">
        <ul id="gallery">
            <a href="img/numbers-01.jpg">
              <img src="img/numbers-01.jpg" alt="">
              <p>Experimentation with color and texture.</p>
            <a href="img/numbers-02.jpg">
              <img src="img/numbers-02.jpg" alt="">
              <p>Playing with blending modes in Photoshop.</p>
        <a href=""><img src="img/twitter-wrap.png" alt="Twitter Logo" class="social-icon"></a>
        <a href=""><img src="img/facebook-wrap.png" alt="Facebook Logo" class="social-icon"></a>
        <p>&copy; 2016 Nick Pettit.</p>
  <script src="js/app.js"></script>

2 Answers

<a> is for link. What you have selected are list items <li>.

You can still solve the task with what you have though. Only instead of children you will need a method that selects by tag. I would also just use the variables provided. Some challenges fail due to adding code when not asked to do so.

As an alternative you could look into using querySelectorAll and a descendant selector as suggested by the task.

Review or view the Target General Siblings video.