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 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

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?

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!