Javascript 获取回调无法在循环中工作

Javascript get callback not working in loop

下面是我通过javascript.

获取优化图像的脚本
<img data-src='a.jpg'>
<img data-src='b.jpg'>
<img data-src='n.jpg'>


<script>
    $('img').each(function(){
        var datasrc = $(this).data('src');
        $.get('api.php',{"dataa":datasrc},function(result){
            $(this).attr('src',result));
        })
    });
</script>

无论如何,'result' returns优化了图像,但$(this) src没有更新。 src 显示 unknown

这里有什么问题?可能是 $(this)$.get callback 函数中不起作用?

请帮帮我

我认为确实第二个$(this) 指的是调用的this,而不是图像。 你可以试试:

$('img').each(function(){
    const image   = $(this),
          datasrc = image.data('src');

    $.get('api.php',{"data":datasrc}, function(result) {
        image.attr('src',result));
    });
});