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

Stuck on Challenge Question

The Challenge question says: 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.

app.js: var fullName = document.getElementById("full_name"); var lastName;

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>

app.js
var fullName;
var lastName;
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>

3 Answers

Hi Gary,

There are a couple ways to go about this. Similar to the first challenge, you'll need to assign an element to the lastName variable.

// the second span has a class name of last_name. even though there's only one matching element,
// an array is returned unless you specify the index of the element in the array you want.
document.getElementsByClassName("last_name")[0];

//or

// there are two spans in the document. need the second one
document.getElementsByTagName("span")[1];

Hi Gary, Here is the answer.

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

Thanks. I actually thought of that answer and thought that it couldn't possibly be it. The other answer you put getElementsByClassName I actually tried and it didn't go thru

That's odd, because that's the one I used to complete the challenge. I'll double check it.

Edit: this works for me

var fullName = document.getElementById("full_name");
var lastName = document.getElementsByClassName("last_name")[0];

Maybe try to open the challenge in another browser and see if it takes the answer. I've had the same issue on other challenges. Also my answer is correct.