如何从动态创建的列表中删除?
这是我想要的样本: 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();
});
从我所看到的一切看来都是正确的,但我仍然不知道它为什么不删除?
答案 0 :(得分:2)
1)第一个主要问题是:
ViewModelLocationProvider.SetDefaultViewModelFactory( type =>
{
return Container.Resolve(type);
});
你在ul之后追加li,这就是为什么听众有问题。
我改变了你的代码:
$('#ul').after();
答案 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会像添加事件监听器一样错过动态创建的元素。