JavaScript JavaScript and the DOM Responding to User Interaction Event Delegation

Alasdair Marchant
Alasdair Marchant
4,592 Points

I am not getting this code quite right

I can't seem to get this to work. I'm not sure I understand what hte question is asking.

app.js
let section = document.getElementsByTagName('section')[0];

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

let input = document.getElementsByTagName("input");
input.style.backgroundColor = "rgb(255, 255, 0)";
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>

1 Answer

Adam Pengh
Adam Pengh
27,519 Points
let section = document.getElementsByTagName('section')[0];

section.addEventListener('click', (e) => {
  if(e.target.tagName == 'INPUT') { // If the event target's tag equals <input>
     e.target.style.backgroundColor = 'rgb(255, 255, 0)';
  }
});