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 trialAswin Gigi Mampilly
1,413 PointsWhy is `let navigationLinks = document.querySelector('nav').querySelectorAll('li');` returning wrong links ?
From my understanding document.querySelector('nav').querySelectorAll('li') should basically give the links in the nav element right ? the test tell me that wrong links are passed, can someone help me in understanding what exactly is wrong ?
let navigationLinks = document.querySelector('nav').querySelectorAll('li');
let galleryLinks;
let footerImages;
<!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>© 2016 Nick Pettit.</p>
</footer>
</div>
<script src="js/app.js"></script>
</body>
</html>
1 Answer
andren
28,558 PointsThe issue is that li
is not a link element, it is a list-item
element. The link element is a
. This is a very common and pretty understandable mix up. If you change li
to a
then your code will work.
Though it's also worth mentioning that while it works to chain query selectors like that it's not really necessary to compete this task. It's more efficient to make use of a CSS selector knows as the descendant selector. Which allows you to select nested elements simply by typing the names of the elements separated with a space. Like this:
let navigationLinks = document.querySelectorAll('nav a');
Aswin Gigi Mampilly
1,413 PointsAswin Gigi Mampilly
1,413 PointsThanks for helping out andren :)