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

Chiaki Yamada
seal-mask
.a{fill-rule:evenodd;}techdegree
Chiaki Yamada
Front End Web Development Techdegree Student 6,879 Points

I don't know what's wrong with this code

Task: Next, declare a new variable named input. Point the variable to the input element with the ID input-phrase. Use the method that returns an element matching the specified ID.

I was not able to pass this task and don't know what's wrong with my code.

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>

1 Answer

Mark Sebeck
MOD
Mark Sebeck
Treehouse Moderator 33,558 Points

Hi Chiaki. What you have is correct but for some reason the challenge is being picky and not allowing a space between the method call and the parameter being passed. Delete the space and it should pass. Weird that it allows a space on the first one.

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