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 trialisaiah carter
4,745 PointsIn this challenge, you're going to select various elements from index.html. First, select all links inside the <nav> ele
In this challenge, you're going to select various elements from index.html. First, select all links inside the <nav> element and assign them to the variable navigationLinks. (HINT: Use a descendant selector to match elements that are descendants of an element.)
var navigationLinks = document.querySelector("nav.li");
var galleryLinks;
var 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>
5 Answers
Emmanuel C
10,636 PointsThe task is asking you to select ALL of specific elements. That would require the use of document.querySelectorAll(); Also to reach decedent nodes, youll need to seperate them with whitespace, instead of dot. So the fist challenge, would be
var navigationLinks = document.querySelectorAll("nav a");
All links(a) within the nav tag.
Siddharth Pandey
7,280 PointsWhat does "a" do, does "a" mean all, so if you wanted to select all of something you could just type the "thing" and then "a." Say I wanted to select all links inside an unordered list with the ID gallery and assign them to the variable galleryLinks. then would I just do: let galleryLinks = document.quertySelectorAll("#gallery a"); Would this work?
Tony B
Front End Web Development Techdegree Student 10,702 PointsI was stuck trying do to 'nav li' thinking it was 'li' for link when it's 'li' for list and 'a' is link! Oops!
Mauricio Hernandez
7,208 PointsThank you, have a blessed day.
martinjones1
Front End Web Development Techdegree Graduate 44,824 PointsHi Isaiah,
First of all you need to get all of the links, so just update the code to use querySelectorAll.
Next, you can then use the CSS Descendant Selector to target the elements you want to grab.
Your updated code will then look like that below, hope this helps.
var navigationLinks = document.querySelectorAll("nav li a");
isaiah carter
4,745 Pointsthank you martin!
Mary Gertrude Lie-Nielsen
Full Stack JavaScript Techdegree Student 5,144 Pointsthis was helpful,
for some reason I thought: var navigationLinks = document.querySelectorAll("nav > li a")
was the answer since <li> and <a> are descendants of <nav>.
Any reason why this does not work?
Matthew Mattox
1,036 PointsI'm also curious what does the "a" mean in the code block above? 'nav li a'
var navigationLinks = document.querySelectorAll("nav li a");
Laura Owens
15,044 PointsIt's the "a" before "href" --- I believe "a" means a link is coming?
<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>
Nurgul Amat
Front End Web Development Techdegree Graduate 21,456 Pointslet navigationLinks=document.querySelectorAll('nav a'); let galleryLinks=document.querySelectorAll('#gallery li a'); let footerImages=document.querySelectorAll('footer img');
Eugene Skom
6,059 PointsIt was helpful,thanks!
Mauricio Hernandez
7,208 PointsMauricio Hernandez
7,208 PointsHave a blessed day.