用href中的jquery从ul中删除li

时间:2016-11-01 16:04:41

标签: javascript jquery html css listitem

我想删除所有<li>行,而是删除标记<a>。 我只是尝试$(this).closest('li').remove()但是也不尝试li.remove()。我有这个:

$("#demo").append("<li  class='list-group-item'>" + result.Num+ " - " + result.Desc+ "<a onclick='$(this).remove()' href='#'class='pull-right'> Delete</a> </li>");

1 个答案:

答案 0 :(得分:1)

解决问题的正确方法是使用$(this).closest('li').remove()遍历到已点击的li的最近的父a并将其删除。请注意,您需要转义字符串中的引号,这是我可以看到为什么您尝试的不起作用的唯一原因。

$("#demo").append('<li class="list-group-item">' + result.Num + ' - ' + result.Desc + '<a onclick="$(this).closest(\'li\').remove()" href="#" class="pull-right">Delete</a></li>');

然而,更好的方法是使用委托事件处理程序而不是过时的on*事件属性,如下所示:

var $demo = $("#demo").append('<li class="list-group-item">' + result.Num + ' - ' + result.Desc + '<a href="#" class="pull-right">Delete</a></li>');
$demo.on('click', '.list-group-item a', function(e) {
    e.preventDefault();
    $(this).closest('li').remove();
});