Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript and the DOM (Retiring) Getting a Handle on the DOM Select a Page Element By Its ID

Amandeep Pasricha
Amandeep Pasricha
14,932 Points

Why were we allowed to write .value after myTextInput?

is myTextInput a global object or something? Can someone explain this conceptually? Thanks

3 Answers

Steven Parker
Steven Parker
216,121 Points

It's a global that was created by the "const" statement on line 3 as a reference to an HTML element which was selected by ID. Since the element it refers to has a "value" property, you can write ".value" after it to access that property.

Amandeep Pasricha
Amandeep Pasricha
14,932 Points

Steven Parker Oh wait I get it. Okay let me try to explain: the global object document has various properties and ID's. The variable contains a reference to this global object, so naturally, value is just one of those properties that the global object, document, contains? Is this correct? When you say "Since the element it refers to has a "value" property", aren't you just referring to the global document object?

Steven Parker
Steven Parker
216,121 Points

The code is specifically referring to the <input> element that has the ID of "myTextInput". It's that object (not the global object) which has the "value" property being accessed.

Amandeep Pasricha
Amandeep Pasricha
14,932 Points

Steven Parker I think what I forget sometimes is that almost everything in javascript is an object containing properties which can be accessed using dot notation. So in this case, the <input> element is a document object, and it contains a set of properties and methods.

Is my interpretation correct?