jquery - 如何删除单个
- 使用 jQuery click()
问题描述
左键单击后,我需要删除单个列表元素。我可以删除整个列表,但不能删除单个元素
我在 Stack 上环顾四周,但似乎没有什么能回答我的具体问题
(function(){
$(document).ready(function() {
$("#likeform").submit(function(event) {
var input = $(this).children("input[name='thing']")
var thing = $(input).val()
$("#likes").append("<li>" + thing + "</li>")
$(input).val("")
event.preventDefault()
});
$("#likes").click(function() {
alert("test=true")
$("#likes").remove()
});
})
})()
<body>
<h1>What do you like?</h1>
<form id=likeform>
<input name=thing placeholder="a thing you like" size=30>
<input type=submit>
</form>
<ul id=likes></ul>
<!-- Scripts -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="scripts/index.js"></script>
</body>
</html>
我不确定是否需要为每个列表元素添加特定的 ID。
解决方案
将点击处理程序放在 上li
,而不是ul
. 然后你可以参考他们点击的元素this
。
使用事件委托,因此这将适用于动态添加的元素。
$("#likes").on("click", "li", function() {
$(this).remove();
});
推荐阅读
- unity3d - 如何在 Prebuild 中设置 Unity SplashScreen Logo
- react-native - 在 React Native 应用程序中向传递的 this.props.onPress-function 添加一个函数
- azure-cli - 如何在分配了服务主体的 VM 中使用 pwsh 复制“az login -identity”
- javascript - 未处理的承诺拒绝,但使用 .catch()
- javascript - DateTime.MinValue 在 Javascript 中转换为 0001-01-01 08:05:43
- installation - 如何安装 C++ Sydney 10.4.2 的社区版
- wordpress - 如何在 WordPress Learnpress 中根据国家/地区自动更改货币?
- amazon-web-services - 使用 AWS EC2_instance 模块创建多个 EBS 卷
- javascript - 如何在 _app 中调用一次 API 并将数据传递给必要的孩子?
- c++ - 如何在不强制转换或复制签名的情况下使派生类实例的基类模板函数可见?