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 trialEdward Babino
3,579 PointsNeed help with practice challenge
I've been trying to incorporate everything I've learned about DOM so far and by all accounts cannot seem to narrow this down. I thought this to be correct, but was mistaken.
What am I missing here?:
In the following tasks you'll be required to select various elements on the index.html page. In the app.js file on line 1, select all links in the nav element and assign them to navigationLinks.
let navigationLinks = document.getElementsByTagName('nav');
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>
Amber Clark
10,001 PointsI saw this in another post, and it works, but I'm not sure why. let navigationLinks = document.querySelectorAll('nav a');
Edward Babino
3,579 PointsThanks, Amber. I figured it out later that 'a' represents the link within the nav element:
<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>
1 Answer
Nicholas Ward
5,797 PointsYour code is super close, but it's only selecting the nav element itself. You want to select all the links within the nav element. As far as I know, there are two options to do this:
// 1)
let navigationLinks=document.getElementsByTagName('nav')[0].getElementsByTagName('a');
//2)
let navigationLinks = document.querySelectorAll('nav a');
https://www.w3schools.com/jsref/met_element_getelementsbytagname.asp https://www.w3schools.com/jsref/met_document_queryselectorall.asp
Edward Babino
3,579 PointsThanks, Nicholas. It felt like I didn't remember or catch that in the previous videos. I found out that this question has been posed on here multiple times.
Amber Clark
10,001 PointsAmber Clark
10,001 PointsI'm working on this challlenge as well. I feel your pain!
I don't have the answer, but I know that the 'nav' tag only returns one reference because there is only one nav tag in the document.