这是我的js
和jq
代码:
for (i = 0; i < data.length; i++) {
var $nItem = $('.Search_result_template').clone().removeClass("Search_result_template");
src = Link_DB + data[i]._id + "/" + ReadConfigurationSettings_img_Upload_Name()+"0";
$("<img/>")
.on('load', function () {
alert("image loaded correctly");
alert("src: " + src);
$nItem.find('.var_link_img').attr('href', src);
})
.on('error', function () {
alert("error loading image"); var src = ReadConfigurationSettings_Link_Default_img();
$nItem.find('.var_link_img').attr('href', src);
})
.attr("src", src);
$nItem.find('.var_link_img').text('Image');
$nItem.attr("id", "Search_result_template_" + i);
//alert($nItem.html());
$Search_Result.append($nItem);
}
如果图像加载成功或出现错误,则在测试之前迭代循环。因此,如果我有许多元素,则src与每个图像链接都没有正确关联。
我怎么能等待:
$("<img/>").on('load', function () {});
要执行所以我可以获得$nItem.find('.var_link_img').attr('href', src);
此代码的结果显示第一个链接(i==0
)为null,第二个链接(i==1
)显示为先例的src。