Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏div在jqueryajax成功中无法正常工作_Javascript_Asp.net Mvc - Fatal编程技术网

Javascript 隐藏div在jqueryajax成功中无法正常工作

Javascript 隐藏div在jqueryajax成功中无法正常工作,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我有一个jQuery脚本,在删除记录后,我将在其中隐藏div。 这是jQuery $(document).ready(function () { $(".deleteComment").click(function () { alert("asd"); var Id = $(this).attr("id"); var url1 = "@Html.Raw(Url.Action("DeleteComment", "Comment"

我有一个jQuery脚本,在删除记录后,我将在其中隐藏div。 这是jQuery

$(document).ready(function () {
    $(".deleteComment").click(function ()
     {
        alert("asd");

        var Id = $(this).attr("id");

        var url1 = "@Html.Raw(Url.Action("DeleteComment", "Comment", new { id = "idValue" }))";
        url1=url1.replace("idValue",Id );
        alert(url1);

        $.ajax(
        {
            type: 'post',
            url: '/Comment/DeleteComment',
            dataType: 'json',
            data:
            { 
              'EId' : Id    
            },
            success: function (data) 
            {
                alert ("Hello");
                var commentBlock = $(this).closest('div');
                commentBlock.hide('slow');                                   
            }                
        });
问题仅出现在以下代码中:

success: function (data) 
{
    alert ("Hello");
    var commentBlock = $(this).closest('div');
    commentBlock.hide('slow');
}

如果我把上面的代码放在脚本的开头,那么它就可以正常工作。如果我成功了,那么它就失败了。

这将引用Igor提到的ajax对象,他的意思是这样的

$(document).ready(function()) {
    var self = this;

    ...
    $.ajax(
        ...

        success: function(data) {
            $(self).closest("div").hide("slow");
        }
    );
}

不,它只是不起作用…如果我在开始时放的代码,那么它“工作得很好…”成功回调中的“这个”处理ajax对象。因此,您需要声明类似“var self=this;”的内容,然后在ajax调用中使用$(self).closest等等。我尝试了这段代码……但仍然无法工作<代码>成功:函数(数据){alert(“Hello”);var tempSharedType=$(this).最近('div');tempSharedType.hide('slow');}
谢谢@MikkoP,这正是我的意思!