JavaScript JavaScript and the DOM Responding to User Interaction Event Delegation

robert allen
robert allen
3,729 Points

Need help problem says to make the event listener only work for the inputs but it keeps saying to select the right ones

Getting an error saying I'm not selecting the right code but I am sure I am, I need someone to help troubleshoot it.

index.html
<!DOCTYPE html>
<html>
    <head>
        <title>JavaScript and the DOM</title>
    </head>
    <link rel="stylesheet" href="style.css" />
    <body>
        <section>
            <h1>Making a Webpage Interactive</h1>
            <p>JavaScript is an exciting language that you can use to power web servers, create desktop programs, and even control robots. But JavaScript got its start in the browser way back in 1995.</p>
            <hr>
            <p>Things to Learn</p>
            <ul>
                <li>Item One: <input type="text"></li>
                <li>Item Two: <input type="text"></li>
                <li>Item Three: <input type="text"></li>
                <li>Item Four: <input type="text"></li>
            </ul>
            <button>Save</button>
        </section>
        <script src="app.js"></script>
    </body>
</html>
app.js
let section = document.getElementsByTagName('section')[0];

section.addEventListener('click', (e) => {
  if (e.target.tagname == 'INPUT'){
  e.target.style.backgroundColor = 'rgb(255, 255, 0)';
}});

1 Answer

Jennifer Nordell
MOD
Jennifer Nordell
Treehouse Moderator

Hi there, robert allen ! You're doing terrific! You're off by literally one character. The event.target does not have a property of tagname. It does, however, have a property of tagName. Note the capitalization on the "N" in "Name".

Hope this helps! :sparkles:

robert allen
robert allen
3,729 Points

Oh, I see thanks I feel dumb.