gpt4 book ai didi

javascript - 如何添加一个EventListener,以便在点击后删除一个li?

转载 作者:行者123 更新时间:2023-12-01 00:10:18 25 4
gpt4 key购买 nike

这是我到目前为止的代码:

const list = document.getElementById("list")
const enter = document.getElementById("enter")

enter.addEventListener("click", add => {
var input = document.getElementById("form").value
var node = document.createElement("LI")
var text = document.createTextNode(input)
node.appendChild(text)
list.appendChild(node)
})
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="style.css">
<title>Document</title>
</head>

<body>
<h1>To-Do:</h1>
<ul id="list">
<li>Hello</li>
<li>This is</li>
<li>A test</li>
</ul>
<div class="input">
<input id="form" type="text"></input>
<button id="enter">Add</button>
</div>

<script src="app.js"></script>
</body>

</html>

当我单击添加按钮时,我已经能够添加列表元素,但我不知道如何向每个单独的 li 元素添加 EventListener。

最佳答案

你能做的是:

  1. 将一个事件绑定(bind)到容器(列表)
  2. 确保点击的元素(目标)是您想要的元素(例如 LI)
  3. remove() 该元素(如果有)

这可以通过以下方式完成:

document.querySelector('#list').addEventListener('click', function({target}) {
if (target.matches('li'))
target.remove()
}, false);

工作示例

const list = document.getElementById("list")
const enter = document.getElementById("enter")

enter.addEventListener("click", add => {
var input = document.getElementById("form").value
var node = document.createElement("li")
var text = document.createTextNode(input)
node.appendChild(text)
list.appendChild(node)
})


document.querySelector('#list').addEventListener('click', function({target}) {
if (target.matches('li'))
target.remove()
}, false);
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="style.css">
<title>Document</title>
</head>

<body>
<h1>To-Do:</h1>
<ul id="list">
<li>Hello</li>
<li>This is</li>
<li>A test</li>
</ul>
<div class="input">
<input id="form" type="text" />
<button id="enter">Add</button>
</div>

<script src="app.js"></script>
</body>

</html>

关于javascript - 如何添加一个EventListener,以便在点击后删除一个li?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60123485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com