我有一个图像列表
<img src="001.jpg">
<img src="002.jpg">
<img src="003.jpg">
<img src="004.jpg">
<img src="005.jpg">
每张图片宽200像素,但高度不同。有没有办法让Jquery找到,然后在加载后设置每个图像的高度?
我计划在一个页面上放置几十个图像,并且不想为每个图像标记添加width和height属性。
我正在使用Masonry插件,它需要图像的宽度和高度属性。
答案 0 :(得分:4)
我相信这会做你想要的:
$('img').each(function() {
$(this).attr('height',$(this).height());
$(this).attr('width',$(this).width());
});
您可能还想为每个img添加class="masonry"
属性,然后选择$('img.masonry')
。
答案 1 :(得分:3)
你可以尝试:
$('img').each(
function(){
var height = $(this).height();
var width = $(this).width();
$(this).attr({'height': height, 'width': width});
})
假设您希望将height
/ width
属性设置为img
的实际高度/宽度,而不是以某种方式缩放/修改。
参考文献:
答案 2 :(得分:1)
您可以使用jQuery .height()
和.width()
方法,因为它们会返回计算出的宽度和高度。您应该始终在img标记中包含width和height属性,因为有些浏览器在没有它们的情况下无法正确渲染这些图像。
答案 3 :(得分:0)
当然,使用height方法获取img标签的大小。