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 trialDavid Donohue
1,110 PointsWhat am I doing wrong?
I'm trying to answer the question about accessing a body element and assigning it to the variable 'body' using the document.getElementsByTagName() method. why does the following code not work?
const body = document.getElementsByTagName('body');
2 Answers
Charles Wanjohi
9,235 PointsThe method document.getElementsByTagName() returns a collection (an array) thus to obtain the body element, get the first element of the collection returned i.e:
document.getElementsByTagName('body')[0];
recal a document can have only one body element?
Martin Zarate
10,723 PointsTry accessing the first element found with that name:
document.getElementsByTagName('body')[0];
David Donohue
1,110 PointsThank you!
David Donohue
1,110 PointsDavid Donohue
1,110 PointsThanks for the answer!! Just out of curiosity, if there is only a single element, why do I need to specify ?
Charles Wanjohi
9,235 PointsCharles Wanjohi
9,235 PointsBecause the method is built to return a collection of elements.And as such it traverses through the entire document looking for elements with that tag name .In this case it finds only one element which it adds to the collection which it returns