Проблема в том, что к моменту выполнения $(document.ready)
образ уже завершил загрузку, поэтому события загрузки / ошибки больше не будут вызываться.
Единственный способ, которым я могу придумать, чтобы обойтиэто делается для перезагрузки изображения, таким образом «заставляя» событие запускаться:
$(document).ready(function(){
$("img").each(function(index) {
$(this).error(function() {
$(this).hide();
});
$(this).attr("src", $(this).attr("src"));
});
});
Это не должно быть слишком плохим по производительности, поскольку изображения будут, скорее всего, извлечены из кеша, но не будут перезагружены.с сервера.
Живой тестовый кейс (с крутыми кошками;)) доступен здесь: http://jsfiddle.net/yahavbr/QvnBC/1/