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));
});
});
下面是我通过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));
});
});