Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   замена изображений в блоке на ссылки (https://javascript.ru/forum/dom-window/43713-zamena-izobrazhenijj-v-bloke-na-ssylki.html)

imediasun1 17.12.2013 14:19

замена изображений в блоке на ссылки
 
Подскажите что не так, я пытаюсь заменить все изображения в блоке на соответствующую ссылку,
alert(arr.attr('src')) выводит только первый файл дальше происходит какой то сбой в jquery

$(document).ready(function(){
var arr=$('.sea_content img');
if(arr){
jQuery.each( arr, function(i,obj) {
alert(arr.attr('src'))
var img=arr.attr('src');
val=img.replace(/\/thumbs/,'');
obj.replaceWith(
'<a class="fancybox" href="'+val+'" data-fancybox-group="gallery" title=""><img class="fancybox_img"  src="'+img+'" width="200" alt="poseidon"></a>');

});
}
});

рони 17.12.2013 14:48

imediasun1,
вам документацию похоже совсем читать неинтересно или у вас хобби собирать ошибки???
строка 2 получили массивоподобный обьект
строка 3 бесполезная проверка обьект всегда true -- можно проверять длину
строка 5 поиск у обьекта атрибута - обьект выдаст только атрибут 1 элемента -- если отсутсвует индекс
есть сам элемент -- это у вас obj у него и ищите src -- alert(obj.src)
строка 8 -- $(obj).replaceWith

moskitos80 17.12.2013 15:16

$('.sea_content img').replaceWith(function(){
        var $that = $(this),
            thumb = $that.attr("src"),
            fullImage = $that.attr("src").replace(/\/thumbs/, "");
        return '<a class="fancybox" href="' + fullImage + '" data-fancybox-group="gallery" title="">' +
                        '<img class="fancybox_img"  src="' + thumb + '" width="200" alt="poseidon">' +
                '</a>';
    });

А рони прав. Иногда нужно читать доки.

imediasun1 17.12.2013 15:18

Спасибо большое этот вариант очень и очень

рони 17.12.2013 15:27

moskitos80,
на всякий случай ...
$('.sea_content img').replaceWith(function(){
        var thumb = this.src,
            fullImage = thumb.replace(/\/thumbs/, "");
        return '<a class="fancybox" href="' + fullImage + '" data-fancybox-group="gallery" title="">' +
                        '<img class="fancybox_img"  src="' + thumb + '" width="200" alt="poseidon">' +
                '</a>';
    });


Часовой пояс GMT +3, время: 12:51.