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