原始写法
$(".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("取消收藏"); } } }); });必须在异步外面的先声明变量,然后异步里面才能调用。