我有以下代码
$(function () {
$.post("fetch_data.php?url="+$('#url').val(), { }, function(response){
var arrValues = [ "path/to/img1", "path/to/img2", "path/to/img3", "path/to/img4" ]; //output from php
var img = new Image();
$.each(arrValues, function( intIndex, objValue ) {
img.src = objValue;
img.onload = function() {
alert('height: ' + img.height + ' width: ' + img.width);
}
});
});
});
我是javascript / jquery的新手,此代码仅返回最后一个(“path / to / img4”)图像的高度/宽度。
如何让它返回数组的所有图像和宽度?
答案 0 :(得分:1)
我想你必须创建四个图像元素......你必须稍微修改你的代码
尝试下面的代码,
$(function () {
$.post("fetch_data.php?url="+$('#url').val(), { }, function(response){
var arrValues = [ "path/to/img1", "path/to/img2", "path/to/img3", "path/to/img4" ]; //output from php
$.each(arrValues, function( intIndex, objValue ) {
var img = new Image(); //creating number of Image Elements equal to arrValues length
img.src = objValue;
img.onload = function() {
alert('height: ' + img.height + ' width: ' + img.width);
}
});
});
});
答案 1 :(得分:0)
由于参数img是在循环之外定义的,它只会指向最后一个img u create ..
尝试在$ .each循环中声明img ...
并在警告中替换img。