Поменять атрибут src если картинка не загрузилась

подскажите пожалуйста как поменять атрибут src если картинка не загрузилась, есть картинки(около 100шт), половина прогружается а у половины не правильный путь, он станет правильным если папку поменять с 1 на 2 или наоборот, ссылки на картинки такого вида https://t.ru/images/detailed/1/test.png

$(".search_ajax_prod-img img").each(function(){
        var image = this;
        image.onerror = function() {
          var src = $(this).attr("src");
          if(src.indexOf("/1/" > 0)){
                var nesrc = src.replace("/1/", "/2/");
                this.src = nesrc;
            }
            if(src.indexOf("/2/" > 0)){
                var nesrc = src.replace("/2/", "/1/");
                this.src = nesrc;
            }
        };
    })

Ответы (1 шт):

Автор решения: Node_pro

Попробуйте вариант с использованием методов jQuery.

$(".search_ajax_prod-img img").on("error", function () {
     const src = $(this).attr("src");
     let nesrc;

     if(src.indexOf("/1/") !== -1){
          nesrc = src.replace("/1/", "/2/");
     } else if(src.indexOf("/2/") !== -1){
          nesrc = src.replace("/2/", "/1/");
     }

     $(this).attr('src', nesrc);
});

Также я исправил Ваш IndexOf, Вы круглую скобочку не там закрыли. Также хочу подчеркнуть, что Вы искали начиная с второго символа из-за знака ">" вместо ">=". Если это так и надо, тогда я возьму ваш вариант ;-)

P.S. А почему Вы не хотите на оборот сделать. В смысле загружать картинки асинхронно с помощью скрипта и в случае успеха вставлять в img, делая эффект lazyLoad?

→ Ссылка