javascript - 使用 JQuery 删除动态创建的列表元素的按钮

标签 javascript jquery html

我有一个 HTML 格式的有序列表:

<ol id ="list">
</ol>

添加到使用 JQuery/javascript 中:

$(function (){
    $("#click-me").click(function (e){
        e.preventDefault();
        i++;

        var list = $("#list");
        var name = $("#colleague-select option:selected").text();
        var remove = "<button type='button' class='remove-me'> X </button>";
        var entry = "<li>" + name + remove+ "</li>";
        entry.id = "entryid" + i;

        list.append(entry);

        return false;
    });
});

我想做的是允许用户通过单击相应的按钮“X”来删除列表中的条目。这是我想出的代码,但它不起作用:

$(function (){
   $(".remove-me").click(function(e){

       var list = $("#list");
       var entry = e.parent(); //find parent entry of clicked "X" button
       list.remove(entry);  //remove entry from list
   });
});

大家有什么帮助吗?我对 JQuery 相当陌生,因此非常感谢您对答案代码的解释。谢谢。

最佳答案

您需要使用event delegation用于将事件绑定(bind)到动态添加的元素。

$(document).on('click', ".remove-me", function(e){
    var entry = $(this).parent(); 
    entry.remove();  //remove entry from list
});

关于javascript - 使用 JQuery 删除动态创建的列表元素的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999581/

相关文章:

javascript - 如何在 react-highcharts 中使用图表工具提示格式化程序?

javascript - jquery动态添加div标签并在其中添加元素

javascript - 选择行时获取 JQgrid 表的列值

javascript - 从计时器函数获取秒数到我的 View

javascript - promise 不返回对象

javascript - 当父窗口跨域时,如何从 iframe 获取父窗口内容窗口的引用

javascript - 有没有办法用变量代替节点名称来选择网络音频节点?

php - 在 jquery 中序列化表单数据会产生不必要的符号。如何避免它们?

javascript - iOS 未加载悬停目标点击 URL bc?

php - foreach 返回同一行 4 次 codeigniter