У меня есть обертка для изображений div
, которая содержит изображение и подпись.
Используя следующую обертку изображения div
имеет размер, равный ширине изображения:
$('.imgright').each(function(){
$(this).width($(this).find('img').outerWidth());
});
Я также хотел бы использовать другой путь к изображению, если он зависит от родителя div
учебный класс.Следующие работы:
$('.grid_12').each(function(){
$(this).find('img').each(function(){
$(this).attr("src", $(this).attr('src').replace('/StandardImage/','/MidSizeImage/'));
});
});
Но их объединение не всегда устанавливает ширину обёртки изображения div
.
$('.grid_12').each(function(){
$(this).find('img').each(function(){
$(this).attr("src", $(this).attr('src').replace('/StandardImage/','/MidSizeImage/'));
});
});
$('.imgright').each(function(){
$(this).width($(this).find('img').outerWidth());
});
Есть какие-нибудь предложения?
Благодаря двум очень быстрым ответам я реструктурировал свой код и использовал функцию .load()
для получения измененных деталей изображения.
Работакод:
$('.grid_12').each(function(){
$(this).find('img').each(function(){
$(this).attr("src", $(this).attr('src').replace('/StandardImage/','/MidSizeImage/'));
$(this).load(function(args){
var newWidth = $(this).outerWidth();
$(this).parent('.imgright').each(function(){
$(this).width(newWidth);
})
})
})
});