如何解决JQuery 每个循环在包含 .done/.fail 时不起作用
var selector = '';
$.each(data,function(key,val) {
var img = '/wp-content/img/history/' + val.image_id + '.jpg';
selector = '#img'+(key+1);
$(selector).prepend('<img id src=' + img + ' alt="pic" />');
});
上面的代码片段有效,图像被加载到元素#img1、#img2、#img3、#img4中。我无法确定图像是否存在,因此将 .done/.fail 添加到文件 get 中。
var selector = '';
$.each(data,val) {
var img = '/wp-content/img/history/' + val.image_id + '.jpg';
selector = '#img' + (key + 1);
$(selector).removeClass('d-none');
$.get(img).done(function() {
$(selector).empty();
$(selector).prepend('<img id src=' + img + ' alt="pic" />');
}).fail(function() {
alert(val.image_id + ' not found');
});
});
在文件 get 上的 done/.fail 被添加后,'key' 不再递增。在循环中使用计数器的行为与“Key”相同。
有人知道原因吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。