2014-01-26 44 views
19

我必須閱讀每個圖像的自然高度,並且我應該進行計算。不過,我有一些讀到自然高度的問題。使用jQuery獲取每個圖像的自然高度

$('div.imgkirp img').each(function(){ 
    console.log($(this).naturalHeight); 
}); 

它得到:(圖像編號)在控制檯日誌中未定義。我怎樣才能讀取每個圖像的自然高度?

回答

26
var image = new Image(); 
image.src = $(this).attr("src"); 
alert('width: ' + image.naturalWidth + ' and height: ' + image.naturalHeight); 

這種方法不會在IE 8及以下版本的工作,因爲它不支持 「naturalWidth」和「naturalHeight」屬性。爲了達到同樣使用此代碼

var image = new Image(); 
image.src = $(this).attr("src"); 
image.onload = function() { 
console.log('height: ' + this.height); 
}; 
+1

prop方法非常感謝你,它現在的工作。 – Ayro

+0

這只是不起作用。我試過Chrome,我可以看到源代碼是正確的;我將它設置爲新圖像的src屬性和naturalHeight/naturalWidth'undefined'。 – ArtlyticalMedia

20

嘗試使用圖像的特性naturalHeight,使用的jQuery

$('div.imgkirp img').each(function(){ 

    console.log($(this).prop('naturalHeight')); 
}); 
+0

試過這個,它不適合我。返回'未定義'。 – ArtlyticalMedia

+0

@ArtlyticalMedia你應該使用'load'。因爲如果圖像未加載,可能會返回「未定義」。 –

相關問題