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 trialshay elbaz
2,885 PointsgetElementByTagName look the only way here... but its not working?... PLEASE HELP?
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>
6 Answers
shay elbaz
2,885 Pointslet navigationLinks = document.querySelectorAll("nav > ul > li > a"); this is the answer! it was really hard... but i did it!
Ruben Ponce
Full Stack JavaScript Techdegree Student 12,035 Pointshi. You had the right idea that you want gather up all the elements nav, but when you say getElementsByTagName("nav")
, it will not only select the nav, but also the ul, li, and a. In this case you want to use the querySelectorAll() method. This will allow you to select all elements of nav, and then specify where in the nav you want to select.
So try using document.querySelectorAll(parentElement, childElement);
shay elbaz
2,885 PointsHi, Thank you very much but your line is not working my friend...
shay elbaz
2,885 PointsBummer: There was an error with your code: ReferenceError: Can't find variable: parentElement It's not working my friend... wow really do not know what to do...
Gonzalo Torres del Fierro
Courses Plus Student 16,751 Pointsthis is a good tip!
Gonzalo Torres del Fierro
Courses Plus Student 16,751 Pointsthis was the right answer.....uhmm
let navigationLinks = document.querySelectorAll('nav > ul > li > a'); let galleryLinks; let footerImages;
Gonzalo Torres del Fierro
Courses Plus Student 16,751 Pointslet navigationLinks = document.querySelectorAll('nav > ul > li > a');
let galleryLinks;
let footerImages;s code!</p>
Gonzalo Torres del Fierro
Courses Plus Student 16,751 PointsIn 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.
Gonzalo Torres del Fierro
Courses Plus Student 16,751 Pointswhat´s the difference let navigationLinks = document.querySelectorAll('nav , ul , li, a'); let navigationLinks = document.querySelectorAll('nav > ul > li > a')
Everistus Akpabio
2,929 Pointsnote the '>' symbol is not required when working with JS; the solution can also be achieved using:
let navigationLinks = document.querySelectorAll('nav ul li a');
Ruben Ponce
Full Stack JavaScript Techdegree Student 12,035 PointsRuben Ponce
Full Stack JavaScript Techdegree Student 12,035 Pointsit should work. the parentElement should be nav. and the child element should be a. because nav is the parent element of the links you want to target