追加后删除元素

时间:2015-08-21 02:33:00

标签: jquery

有谁知道为什么我不能删除列表中的字母B?

重现的步骤:

  1. 点击"添加到列表"按钮
  2. 字母B已添加到列表中
  3. 点击列表中的字母B以删除
  4. 字母B未从列表中删除
  5. 点击字母C或A
  6. 字母C或A已从列表中删除
  7. HTML:

    return Gists.query().$promise.then(function(response){
        // Gists has finished and the data it returned is in response
        // Now run your second query, using the response from the first
    
        return Meta.get({ id : response.id }).$promise.then(function(nextResponse){
    
            // Now nextResponse will contain the result of Meta.get(), having used the id that returned from the first response
            console.log(nextResponse);
        });
    });
    

    的Jquery:

    <button id="add">Add to list</button>
    <ol>
        <li>A</li>
        <li>A</li>
        <li>A</li>
    </ol>
    

    您可以在jsfiddle中找到示例。

    最好的问候。

2 个答案:

答案 0 :(得分:2)

这种情况正在发生,因为附加新元素时会丢失事件处理程序。您可以参考以下答案中的解决方案,了解如何正确执行此操作。 jQuery how to bind onclick event to dynamically added HTML element

Here is your JSFiddle
 https://jsfiddle.net/qsh4pb5r/1/

答案 1 :(得分:0)

您可以将事件delegation用于动态项

试试这个

$(document).on("click","li",function(){
    $(this).remove();
});

JSFIDDLE