在我的下面的代码中,我循环遍历每个锚链接,获取文本值,将其触发到ajax并获取json响应。一切正常。
但是,在成功的最后阶段,我正在尝试将响应作为一个类添加到我正在使用$(this)
循环的锚点$( ".field-name-field-staff .field-item a" ).each(function() {
var username = $(this).text();
var date = $(this).closest('td.views-field-field-event-date').find('span.date-display-single').text();
$.ajax({
type: 'GET',
url: "bookings/availability/data",
data: {
"username": username,
"date" : date
},
success: function (data) {
console.log(data);
console.log(data.css);
console.log(this);
$(this).addClass(data.css);
}
});
});
在上面的示例中,在console.logs中,我得到了......
有人可以告诉我我是如何走出ajax并将锚点对象移到它外面的吗?
答案 0 :(得分:2)
$(this)
指向ajax成功函数的this
。您需要收集this
对象以使其指针与父对齐。
这里要实现此尝试
$(".field-name-field-staff .field-item a").each(function() {
var self = $(this);
var username = self.text();
var date = self.closest('td.views-field-field-event-date').find('span.date-display-single').text();
$.ajax({
type: 'GET',
url: "bookings/availability/data",
data: {
"username": username,
"date": date
},
success: function(data) {
console.log(data);
console.log(data.css);
console.log(this);
self.addClass(data.css);
}
});
});