Javascript If-else语句将图像大小传递给周围的div
在我的网站上,主内容中的所有图像都包装到一个div容器中,如下所示:Javascript If-else语句将图像大小传递给周围的div,javascript,jquery,image,dimension,Javascript,Jquery,Image,Dimension,在我的网站上,主内容中的所有图像都包装到一个div容器中,如下所示: <div class="imagecontainer"> <img src="image.jpg" width="300" /> </div> 但仅当图像具有宽度属性时。如果使用width()元素而不是attr('width'),则所有没有width属性的图像的宽度都将显示为0 我还尝试了几个if-else语句来检查: 如果图像具有宽度属性,则将其添加到其周围的div中 否则使用显示宽
<div class="imagecontainer">
<img src="image.jpg" width="300" />
</div>
但仅当图像具有宽度属性时。如果使用width()元素而不是attr('width'),则所有没有width属性的图像的宽度都将显示为0
我还尝试了几个if-else语句来检查:
.width()
是正确的方法,但您必须等待窗口加载,以便在运行代码时图像已经加载:
$(window).on('load', function () {
$('.imagecontainer').each(function() {
$(this).width( $(this).find('img').width() );
});
});
您可能应该缓存该$(this)
对象。为什么要这样做?容器div将与图像具有相同的宽度anyway@OneTrickPony-你为什么这么说?这里有一把小提琴来反驳你:但是这个问题的标记中没有文本。即使它有文本,他为什么要将包含文本和图像的DIV调整为图像的宽度?没有关系sense@OneTrickPony-OP(正确)仅包括与问题相关的代码。至于将div
调整为图像宽度;这又是一把小提琴:@One-Trick-Pony-我需要在图像悬停遮罩的img周围画一个div,遮罩的尺寸必须与图像的尺寸相同。下次我在我的原始帖子中澄清这一点。谢谢你的提醒。是的,这很管用。我读过关于使用onload的文章,但不知道如何实现它。
$(window).on('load', function () {
$('.imagecontainer').each(function() {
$(this).width( $(this).find('img').width() );
});
});