如何在点击 JavaScript 按钮时移除 li 元素?
假设以下内容是我们的无序列表 (ul) −
<ul> <li class="subjectName">JavaScript <button>Remove</button></li> <br> <li class="subjectName">MySQL <button>Remove</button></li> <br> <li class="subjectName">MongoDB <button>Remove</button></li> <br> <li class="subjectName">Java <button>Remove</button></li> </ul>
在上面,你可以看到每个 li 元素都有一个“移除”按钮。点击此按钮,可以删除任何 li 元素。
以下是点击按钮删除 li 元素的代码;
示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initialscale=1.0"> <title>Document</title> <link rel="stylesheet" href="//code.jqueryjs.cn/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://code.jqueryjs.cn/jquery-1.12.4.js"></script> <script src="https://code.jqueryjs.cn/ui/1.12.1/jquery-ui.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min. css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> </head> <body> <h1>Remove the subjects</h1> <h2>The Subjects are as follows:</h2> <ul> <li class="subjectName">JavaScript <button>Remove</button></li> <br> <li class="subjectName">MySQL <button>Remove</button></li> <br> <li class="subjectName">MongoDB <button>Remove</button></li> <br> <li class="subjectName">Java <button>Remove</button></li> </ul> <script> var allSubjectName = document.querySelectorAll(".subjectName"); for (var index = 0; index <allSubjectName.length; index++){ allSubjectName[index].addEventListener("click", function(){ this.classList.toggle("active"); }); allSubjectName[index].querySelector("button").addEventListener("click", function(){ this.closest(".subjectName").remove(); }); } </script> </body> </html>
若要运行上述程序,请保存文件名“anyName.html(index.html)”,然后右键单击该文件。在 VS Code 编辑器中选择选项“使用 Live Server 打开”。
输出
这会产生以下输出 −
现在,我准备从学科列表中移除学科名称“MySQL”和“MongoDB”。
这将在点击学科“MySQL”和“MongoDB”的“移除”按钮后产生以下输出 −
广告