2011-12-01 44 views
0

这听起来很简单,但到目前为止我一直无法解决它。我有大量的图像,由于各种原因需要明确定义其高度。假设没有两幅图像具有相同的高度,那么在div.column内找到每个单独图像的高度,然后将height作为参数分配给相应图像的最佳方法是什么?jQuery:获取图像高度,分配给图像

HTML

<div class="column"> 
    <ul>  
     <li><img alt="Logo" src="images/logos1.jpg /></li> 
     <li><img alt="Logo" src="images/logos2.jpg /></li> 
     <li><img alt="Logo" src="images/logos3.jpg /></li> 
     <li><img alt="Logo" src="images/logos4.jpg /></li> 
     <li><img alt="Logo" src="images/logos5.jpg /></li> 
     <li><img alt="Logo" src="images/logos6.jpg /></li> 
    </ul> 
</div> 

<div class="column"> 
    <ul>  
     <li><img alt="Icon" src="images/icon1.jpg /></li> 
     <li><img alt="Icon" src="images/icon2.jpg /></li> 
     <li><img alt="Icon" src="images/icon3.jpg /></li> 
     <li><img alt="Icon" src="images/icon4.jpg /></li> 
     <li><img alt="Icon" src="images/icon5.jpg /></li> 
     <li><img alt="Icon" src="images/icon6.jpg /></li> 
    </ul> 
</div> 
+1

所有图像的高度是否相同?或者每个人都有不同的身高? – Rooster

+0

您是否事先知道所有图像的图像高度?是不同图像之间的高度变量? – lunixbochs

+0

图像的高度各不相同,每次加载页面时可能会有所不同。 – colindunn

回答

1

可能做到这一点的最好办法:

$('div.column img').each(function(){ 
    var image = $(this); 
    var realHeight = image.attr("naturalHeight"); 
    image.attr('height', realHeight); 
}); 

诀窍是,而不是访问的访问CSS规则的naturalHeight财产。