在我的网站上,主要内容中的所有图片都被包装到div容器中,如下所示:
<div class="imagecontainer">
<img src="image.jpg" width="300" />
</div>
我需要将图像宽度添加到其周围的div中。这适用于:
$('.imagecontainer').each(function() {
$(this).width( $(this).find('img').attr('width') );
});
但是,如果图像具有width属性。如果我使用width()元素而不是attr('width'),那么没有宽度属性的所有图像都显示宽度为0.
我还尝试了几个if-else语句来检查:
但没有成功。
有没有办法获取显示尺寸的图像并将其添加到周围的div?
答案 0 :(得分:2)
使用.width()
是正确的方法,但您必须等待窗口load
,以便在运行代码时图像已经存在已装载:
$(window).on('load', function () {
$('.imagecontainer').each(function() {
$(this).width( $(this).find('img').width() );
});
});
您应该缓存$(this)
对象。