我正在尝试删除 li
元素,它是单击的 a
元素的父元素。
这是我的代码:
function vanish(id_arg){
$.ajax({
url: "/vanish/",
type: "POST",
data: {id_to_delete: id_arg},
}).success(function(data){
document.getElementsByTagName('li').getElementById(id_arg).remove();
});
}
这是我的 html:
{% for i in p %}
<li id="{{i.id}}"> <a>{{i.name}}</a><a onclick="vanish({{i.id}})" class="item">delete</a></li>
{% endfor %}
p 是包含 name 和 id 的查询响应。
vanish()
将从数据库中删除该项目,作为 ajax 响应,我也想从页面中删除该项目。我需要删除而不是隐藏。
我的问题是它没有从页面中删除,我试图用 javascript 捕获 li
并 remove()
它,但从未找到正确的代码它。
最佳答案
下面将选择所有链接并删除其上方的父元素。如果页面上有其他链接,我建议您为该链接指定一个类,以便您可以指定要删除的链接。另请注意,在 li 上调用remove() 也会删除元素内的所有内容。
$('#' + id_arg).click(function(){
$(this).parent().remove();
});
编辑: 快速阅读问题,您可以将其包含在 ajax 调用的成功函数中:
$('#' + id_arg).closest('li').remove();
关于javascript - 如何删除ajax响应函数中的li元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870479/