2011-12-01 43 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財產。