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 Getting a Handle on the DOM Select by ID

Help please. I'm stuck on Task 2 and can't get the answer right.

I keep getting the error: Are you using the method that targets an element by its ID? Despite using document.getElementById

Can anyone shed a light here please?

app.js
// Complete the challenge by writing JavaScript below
const button = document.getElementById ('btn-phrase');

const input = document.getElementById ('input-phrase');


button.addEventListener('click', () => {
  alert(input.value);
});
index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Phrase Sayer</title>
  </head>
  <body>
    <p><label for="input-phrase">Type a phrase</label></p>
    <p><input type="text" id="input-phrase"></p>
    <p><button id="btn-phrase">Say Phrase</button></p>
    <script src="app.js"></script>
  </body>
</html>

3 Answers

Jason Larson
Jason Larson
7,734 Points

Remove the space between getElementById and the opening parenthesis, so that it looks like this:

const input = document.getElementById('input-phrase');

Yay it worked! Thank you, Jason! May I ask, on task 1, my answer was accepted even with a space between getElementById and the opening parenthesis. But that's not the case on task 2. Why is that?

Jason Larson
Jason Larson
7,734 Points

I suspect it is because of the way that they wrote the test that identifies whether the code is correct or not. If you try your code in an IDE like VS Code, you'll find that it works, both with the space and without it. It is common convention to remove spaces between methods or functions and the opening parenthesis, but it is not a requirement.

Understood. You've been very helpful. Thanks again!