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 JavaScript and the DOM (Retiring) Getting a Handle on the DOM Selecting Elements with the Same Class Name

Don't get the difference between setting a variable = document.getElementsByTagName("BODY")[0]; and ...

document.getElementsByTagName("BODY"); ???

1 Answer

Sarah Stensberg
seal-mask
.a{fill-rule:evenodd;}techdegree
Sarah Stensberg
Full Stack JavaScript Techdegree Student 5,006 Points

According to StackOverflow, using [0] would find the first tag in the document and target that. This is useful if you have multiple tags with the same name ("p", for example). However, I would think it'd be better to target by ID in this case, vs by tag. In your example, I don't think there's a difference because you should only have one body tag.

From W3 Schools:

The getElementsByTagName() method returns a collection of all elements in the document with the specified tag name, as a NodeList object.

The NodeList object represents a collection of nodes. The nodes can be accessed by index numbers. The index starts at 0


Just because you have one Body tag it still comes up as an array.