2013-02-06 203 views
0

我需要獲取用戶上傳圖片的尺寸,即有一個文件上傳按鈕,將圖片加載到'img'標籤,然後根據img的大小,img元素屬性被設置。從本質上講,在網頁加載時,圖像標籤是像這樣的:上傳圖片的尺寸

<img id="img"> 

當用戶上傳尺寸222 X 227的圖像,呈現它的尺寸是:

<img id="img" width="222" height="227"> <!--verified by inspecting the element --> 

我想檢索上傳圖片的尺寸,並使用jQuery,我的腳本:

$('#img').attr('width') OR $('#img').attr('height'); 

return'undefined'。 $('#img').attr('src')也會返回undefined,即使在檢查元素時確實顯示了要使用正確值加載的這些屬性。

這讓我斷定圖片已上傳但未添加到DOM也許?

有人知道這是怎麼回事?

+0

需要看到更多的代碼,聽起來像是在元素存在之前尋找元素 – charlietfl

回答

0

好吧,我想通了,這是怎麼回事,這樣做有助於:

$('#img').load(function(){ 
    console.log($('#img').attr('width')); 
}); 

給我我想要的尺寸。但是,我不知道爲什麼我需要在這裏執行load()函數回調,如果有人想說明的話。

+1

在'DOM'就緒 - 文檔標記,代碼和圖像路徑被讀取,但尚未加載,這就是爲什麼您需要' .load' –