如何从动态创建的列表中动态删除项目?

时间:2016-06-15 14:31:22

标签: javascript jquery html dynamic

如何从动态创建的列表中删除?

这是我想要的样本: https://jsfiddle.net/jessica_mather123/8vgu5bqk/8/

如何创建列表:

$('#button').click(function() {
        var value = $("#id :selected").text();
        var value1 = $("#id :selected").text();
        var value2 = $("#id").val();
        $("#ul").after('<li style="display:list-item; padding:5px;border:2px solid black" name="name[]"><strong>attribute 1:</strong> ' + value + ', <strong>Attribute 2:</strong> ' + value1 + ', <strong>Attribute 3:</strong> ' + value2 + '</li>');

我以前尝试从列表中删除的内容:

    $('#ul li').on('click',function(e){
        $('this').remove();
    });

从我所看到的一切看来都是正确的,但我仍然不知道它为什么不删除?

2 个答案:

答案 0 :(得分:2)

1)第一个主要问题是:

ViewModelLocationProvider.SetDefaultViewModelFactory( type =>
{
    return Container.Resolve(type);
});

你在ul之后追加li,这就是为什么听众有问题。

我改变了你的代码:

$('#ul').after();

jsFiddle

答案 1 :(得分:1)

试试这个:

$(document).on('click', '#ul li', function(e){
    $(this).remove();
});

并改变

$("#ul").after('<li style="display:list-item; padding:5px;border:2px solid black" name="name[]"><strong>attribute 1:</strong> ' + value + ', <strong>Attribute 2:</strong> ' + value1 + ', <strong>Attribute 3:</strong> ' + value2 + '</li>');

$("#ul").append('<li style="display:list-item; padding:5px;border:2px solid black" name="name[]"><strong>attribute 1:</strong> ' + value + ', <strong>Attribute 2:</strong> ' + value1 + ', <strong>Attribute 3:</strong> ' + value2 + '</li>');

jQuery会像添加事件监听器一样错过动态创建的元素。

Updated Fiddle