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