Jquery ajax 异步中获取this对象无效

原始写法

$(".List").each(function () {
            var objid = $(this).attr("id");
            $.ajax({
                url: "/Bus/IsCollection?id=" + objid,
                type:"post",
                success:function (mess){
                    if (mess == "1") {
                        $(this).html("取消收藏");
                    }
                }
            });
        });

这个ajax 异步的地方$(this)是获取不到的。

修改写法

$(".List").each(function () {
            var obj = $(this);
            var objid = obj.attr("id");
            $.ajax({
                url: "/Bus/IsCollection?id=" + objid,
                async: true,
                type:"post",
                success:function (mess){
                    if (mess == "1") {
                        obj.html("取消收藏");
                    }
                }
            });
        });

必须在异步外面的先声明变量,然后异步里面才能调用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章