javascript - 如何对我的无序列表元素旁边的按钮进行编程以在单击时删除其关联列表元素?
问题描述
我正在尝试制作一个简单的待办事项列表应用程序,并希望每个列表元素旁边的按钮在单击时具有删除它们各自元素的效果。到目前为止,我的代码如下:
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>To-Do List</title>
</head>
<body>
<h1>To-Do List</h1>
<input type="text" id="input"/>
<input type="button" value="Add Note" id="add"/>
<ul id="list"></ul>
<script charset="utf-8">
document.getElementById("add").onclick = function() {
var text = document.getElementById("input").value;
var li = "<li>" + text + "<button>Delete</button></li>";
document.getElementById("list").insertAdjacentHTML('beforeend', li);
document.getElementById("input").value = ""; // clear the value
}
</script>
</body>
</html>
解决方案
您可以将click
侦听器添加到删除按钮并li
在单击时删除其父级 ( ),如下所示:
document.getElementById("add").onclick = function() {
var text = document.getElementById("input").value;
var li = "<li>" + text + "<button onclick='deleteItem(this)'>Delete</button></li>";
document.getElementById("list").insertAdjacentHTML('beforeend', li);
document.getElementById("input").value = ""; // clear the value
}
function deleteItem(btn){
btn.parentNode.parentNode.removeChild(btn.parentNode)
}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>To-Do List</title>
</head>
<body>
<h1>To-Do List</h1>
<input type="text" id="input"/>
<input type="button" value="Add Note" id="add"/>
<ul id="list"></ul>
</body>
</html>
推荐阅读
- python-3.x - 如何同时运行收集和协程任务
- c++ - dbg 无法使用 WSL2 处理 VScode - 无法解析不存在的文件“vscode-remote://wsl+ubuntu-20.04..”
- java - 使用 Java 传输客户端连接到弹性搜索时出现“不支持 TLSv1.3”错误
- java - 当我尝试运行 Cucumber StepDef 时,Mockito MissingMethodInvocationException
- python - 无法在我的 IDE 中成功导入/使用 pyautogui 库
- python - Tkinter GUI、I/O 和线程:何时使用队列,何时使用事件?
- java - Kubernetes pod 使用部署失败,而我的 docker run 使用代理配置成功
- javascript - 浏览器忽略我的 JavaScript 版本时间戳?
- arrays - C:创建一个变量依赖于运行时函数的静态数组?
- jquery - 使用 jquery.table2excel.js 将 HTMLtable 导出到 Excel 时出现日期格式问题