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

Challenge Task 1 no longer passing

I'm getting an error task 1 no longer passing not sure what I am doing wrong here.

app.js
var fullName = document.getElementById("full_name");
var lastName = document.getElementByTagName("span")[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>

3 Answers

Hi Reinaldo,

Your only issue is the method name. getElementsByTagName()

Elements should be plural.

Wow just an s throw the whole code off? JavaScript is really sensitive.

Yes, certain things like method or property names need to be typed exactly.

One thing you can do to help you remember whether you should use Element or Elements in the method name is to ask yourself whether that method could return multiple elements or not.

getElementById doesn't have an 's' because that method can only ever return 1 element since id's are unique on the page.

By contrast, getElementsByTagName returns a collection of elements so the plural form of Element is used indicating you might get back more than one depending on the html.

Makes sense since is this case there were an array of spans.