使用Jquery获取图像大小

时间:2011-03-09 01:59:35

标签: jquery height width

我有一个图像列表

<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插件,它需要图像的宽度和高度属性。

4 个答案:

答案 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标签的大小。

http://api.jquery.com/height/