2011-02-01 43 views
0

假設我有一個空的佔位符<img>標籤,我想動態填充。我打電話給$("img").attr("src", "somephoto.jpg")將元素指向正確的圖像。然而,然後我想根據此圖像的寬度做一些事情,但$("img").width()$("img").attr("width")都返回0.如何獲取src由jQuery動態填充的圖像的維度?

我怎樣才能獲得圖像的寬度---或更好呢,有沒有辦法動態設置src的圖像是更好的實踐,並會解決我的問題?

+0

是圖像自由浮動或你插入到DOM? – 2011-02-01 05:43:08

+0

我實際上是先插入它,然後繼續改變圖像。但是,我使用不同尺寸的圖像並需要對它們進行縮放;這就是爲什麼我需要一種方法來實時查找寬度。 – octopi 2011-02-01 05:52:49

+0

大量的答案:http://stackoverflow.com/search?q=image+size+jquery – 2011-02-01 08:41:26

回答

0

我會親自添加整個新圖片,而不是使用空的img標籤的src屬性。

它們如何返回零?請記住,這兩種方法將返回寬度的字符串表示形式,即「10px」,而不是整數10.

0

您必須等待圖像先載入。

$("img") 
    .attr("src", "somephoto.jpg") 
    .on("load", function() { 
    alert(this.height()+" "+this.width()) 
    }) 

我的jQuery可能有點生疏。在這裏它是普通的醇'JS

var i = new Image() 
i.src = "somephoto.jpg" 
i.onload = function() { 
    alert(this.height + " " + this.width) 
}