我正在尝试在发布请求后运行父删除,但它似乎无法正常工作。
知道为什么吗?这是我的代码。理想情况下,我希望删除$ currentId找到的元素。
$('#chat').on('click', '.delete', function () {
var $currentId = $(this).parent().attr('id');
$.post("assets/delete.php",{ id: $currentId },function(data)
{
$(this).parent().remove();
}
);
});
答案 0 :(得分:4)
你改变了范围。试试这个:
$('#chat').on('click', '.delete', function () {
var parent = $(this).parent();
var $currentId = parent.attr('id');
$.post("assets/delete.php",{ id: $currentId },function(data)
{
parent.remove();
}
);
});
答案 1 :(得分:1)
它不起作用,因为$(this)
内的$.post
引用$.post
而不引用$('#chat')
。
试试这个:
$('#chat').on('click', '.delete', function () {
var $currentId = $(this).parent().attr('id');
var that = $(this);
$.post("assets/delete.php",{ id: $currentId },function(data)
{
that.parent().remove();
}
);
});
答案 2 :(得分:0)
'post'结束后,你的'this'并不是指你想到的元素。你必须使用 $('#chat')。parent()。remove()
编辑:杰克的回答更好,因为它不需要找到ID = chat的元素。将它分配给一个临时变量(在他的例子中,那个)是一个更快的选择。