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 trial

JavaScript Interactive Web Pages with JavaScript Selecting Elements and Adding Events with JavaScript Selecting Elements

Selecting Elements

Challenge Task 2 of 2

Select the second SPAN element on the page and assign it to the variable lastName on line 2. Take a look in the index.html to see the structure of the document.

Bummer! Try using the getElementsByTagName() method and using the second index (1).

What am I doing wrong?

app.js
var fullName = document.getElementById("full_name");
var lastName = document.getElementsByTagName("last_name")(1);
index.html
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1 id="full_name"><span class="first_name">Andrew</span> <span class="last_name">Chalkley</span></h1>

<script src="app.js"></script>
</body>
</html>

2 Answers

Hugo Paz
Hugo Paz
15,622 Points

Hi Andrew,

getElementsByTagName returns elements with the tag you pass to it. You are passing it an Id. It returns an array of elements with that tag (in this case its a span). To access an array position, you use square brackets [].

So the code should be look like this:

var lastName = document.getElementsByTagName("span")[1];

Abe Layee
Abe Layee
8,378 Points

I think the problem is from the curly braces and you're not selecting the right element.

var lastName = document.getElementsByTagName("span")[1];