家长删除不工作

时间:2013-07-28 21:52:37

标签: jquery

我正在尝试在发布请求后运行父删除,但它似乎无法正常工作。

知道为什么吗?这是我的代码。理想情况下,我希望删除$ currentId找到的元素。

$('#chat').on('click', '.delete', function () {
    var $currentId = $(this).parent().attr('id');
    $.post("assets/delete.php",{ id: $currentId },function(data)
        {
        $(this).parent().remove();
        }
    );
});

3 个答案:

答案 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的元素。将它分配给一个临时变量(在他的例子中,那个)是一个更快的选择。