我正在使用 for 循环向用户显示一系列缩略图。如果thumbnails[i].path
加载失败,我想加载thumbnail_unavailable.jpg
它的位置。
据我了解,jQuery 的.error()
处理程序应按如下方式使用。
for (var i=0; i<thumbnails.length; i++){
var txt = "";
txt += "<div class...>";
// if no image, load "Screenshot Unavailable" thumbnail
var temp_img = $('<img id="'+thumbnails[i].video_id+'" />');
temp_img.error(function () {
// temp_img.attr doesn't work
temp_img.attr('src','images/thumbnail_unavailable.jpg');
// nor does: $('#'+thumbnails[i].video_id).attr('src','...jpg');
// nor does: $(this).attr('src','...jpg');
}).attr('src', thumbnails[i].path);
txt += temp_img.get(0).outerHTML;
txt += "</div>";
$('#putVidThumbsHere').append(txt);
}
但是,thumbnail[i].path
无论我使用$(this)
$('#'...
或temp_img