Пример в документах .error()
показывает это:
$("img").error(function(){
$(this).hide();
});
... что по сути совпадает с тем, что вы делаете.Можете ли вы проверить, что jQuery загружен и доступен на странице?Кроме того, если вы используете FireFox, Chrome или Safari, попробуйте проверить консоль javascript на наличие ошибок.
РЕДАКТИРОВАТЬ: Обратите внимание, это также из документов:
Это событие может небыть правильно запущенным, когда страница обслуживается локально.Поскольку ошибка зависит от обычных кодов состояния HTTP, она обычно не будет запускаться, если URL-адрес использует файл: protocol.
Вы тестируете это локально?