$ .ajax成功处理程序中的jQuery方法不起作用

时间:2012-03-27 13:57:39

标签: javascript jquery parent

我有一个功能:

$(".delete").click(function() {
    $.ajax({
        url: "ServerHandler.ashx",
        data: "mode=delete&item=" + $(this).attr("title"),
        success: function() {
            $(this).parent().parent().remove();
            alert("hi");
        }
    });
});​

删除父对象时出现问题。它不会消失。我试图隐藏 - 没有帮助。 警报称为正常。 怎么解决?

抱歉英语不好。

4 个答案:

答案 0 :(得分:5)

默认情况下,您在另一个具有其他this值的函数内部。使用this函数传递外部函数的$.ajax值,如下所示:

$.ajax({
  context: this,
  ...

答案 1 :(得分:1)

因为ajax成功回调函数中的this与单击回调函数不同。您可以将其缓存到本地变量或使用$.ajax()的{​​{1}}选项。

context

答案 2 :(得分:0)

您是否尝试在ajax函数中设置context: this,参数。

当成功处理程序触发时,this的值将与之前的值不同。

请参阅此处:http://api.jquery.com/jQuery.ajax/

答案 3 :(得分:0)

试试这个:

$(".delete").click(function() {
    $object = $(this);
    $.ajax({
        url: "ServerHandler.ashx",
        data: "mode=delete&item=" + $(this).attr("title"),
        success: function() {
            $object.parent().parent().remove();
            alert("hi");
        }
    });
});​