【问题标题】:Removing list items after adding them with jQuery [duplicate]使用 jQuery 添加列表项后删除列表项 [重复]
【发布时间】:2013-09-19 04:57:19
【问题描述】:

在使用 jquery 添加列表项后,我在单击时删除列表项时遇到了一些问题。如果我不得不猜测为什么会发生这种情况,那是因为 jquery 可能正在查看我的原始 HTML 文档,而不是在添加列表项后更新的文档?无论哪种方式,我都无法弄清楚如何解决它。

这是我的 HTML:

<form>
        <div>
            <label for="todo">I need to:</label>
            <input type="text" id="todo" />
        </div>
        <button id ="add" type="button">Add to your to-do list!</button>
</form>
<ul>
</ul>

还有我的 jQuery:

$(document).ready(function() {
    $('#add').click(function() {
        var item = $('#todo')
        $('ul').prepend("<li>"+item.val()+"</li>");
    });
        $('li').click(function() {
        $(this).remove();
    });
});

【问题讨论】:

  • 我们可以花一整天时间列出这个问题的重复项 :)
  • 对不起!我保证我四处搜索 - 查看可能的重复项,看起来我只是不知道如何正确表达我的问题

标签: jquery html


【解决方案1】:

由于您尝试为动态添加的元素添加事件处理程序,因此您需要使用事件委托

$(document).ready(function() {
    $('#add').click(function() {
        var item = $('#todo')
        $('ul').prepend("<li>"+item.val()+"</li>");
    });
    $('ul').on('click', 'li', function() {
        $(this).remove();
    });
});

演示:Fiddle

【讨论】:

  • 我添加了一个按钮来删除选定的项目,但它不会这样做。我究竟做错了什么? jsfiddle.net/17ufszLq/1
猜你喜欢
  • 1970-01-01
  • 2017-09-22
  • 2011-01-13
  • 2020-09-12
  • 2016-06-15
  • 2019-02-19
相关资源
最近更新 更多