微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript获取回调无法循环工作

如何解决JavaScript获取回调无法循环工作

下面是我的脚本,用于通过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'返回优化的图像,但是$(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));
    });
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。