Change Text with click Events Not Passing

Tell us what’s happening:

Your code so far


<script>
  document.addEventListener('DOMContentLoaded',function(){
    document.getElementById('getMessage').onclick=function(){
      // Add your code below this line
    document.getElementByClassName('message')
    [0].textContent="Here is the message";
      
      // Add your code above this line
    }
  });
</script>
<style>
  body {
    text-align: center;
    font-family: "Helvetica", sans-serif;
  }
  h1 {
    font-size: 2em;
    font-weight: bold;
  }
  .box {
    border-radius: 5px;
    background-color: #eee;
    padding: 20px 5px;
  }
  button {
    color: white;
    background-color: #4791d0;
    border-radius: 5px;
    border: 1px solid #4791d0;
    padding: 5px 10px 8px 10px;
  }
  button:hover {
    background-color: #0F5897;
    border: 1px solid #0F5897;
  }
</style>
<h1>Cat Photo Finder</h1> 
<p class="message box">
  The message will go here
</p>
<p>
  <button id="getMessage">
    Get Message
  </button>
</p>

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36.

Link to the challenge:

I can’t figure out why this isn’t passing. What am I doing wrong?

This is at best an educated guess but is that line break in your code possibly your problem? Or did the post editor do that?

document.getElementByClassName('message')  //line break?
    [0].textContent="Here is the message";

I rewrote the code without the line break but it still won’t pass. The problem is probably something small like this. So frustrating. Thanks, anyways!

Ha! I see it. getElement vs getElements

1 Like

Thanks! It passed! I knew it was something small. It was late at night so I didn’t catch it. Maybe next time I should just go to bed. :blush: