【发布时间】:2018-02-27 11:12:00
【问题描述】:
在下面的代码中,我循环遍历每个锚链接,获取文本值,通过 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 请求对象的完整数组转储(不是锚标记 i 想要)
有人可以告诉我如何跳出 ajax 并在其中获取锚对象吗?
【问题讨论】:
-
相关链接将提供更多信息 - 但要解决此问题,您需要将“this”存储在 ajax 请求之外,然后在内部使用,例如
$("..").each(function() { var el = this; ... $.ajax({ .. success: function (data) { console.log(el); el.addClass(data.css); } ...