2011-02-22 87 views
4

更改img標籤的使用jQuery的SCR,比如,變化IMG SRC和寬度

$("#img1").attr("src", "pic1.png"); 

在此之後,我試圖讓IMG的寬度(它不是在HTML中設置),

$("#img1").width(); 

它看起來寬度沒有改變與src,我錯過了什麼?謝謝。

+2

在您的CSS中的圖像上是否設置了`width`? – Dominic 2011-02-22 17:26:44

回答

4

如果您嘗試立即執行此操作,可能是因爲圖像尚未完全加載。

使用.one()向圖像添加一個負載處理程序。

$("#img1").attr("src", "pic1.png").one('load',function() { 
    alert($(this).width()); 
}); 

或情況下,圖像緩存,你可以試試這個:

$("#img1").attr("src", "pic1.png").each(function() { 
    if(this.complete) { 
     alert($(this).width()); 
    } else { 
     $(this).one('load',function() { 
      alert($(this).width()); 
     }); 
    } 
}); 

正如@Humberto注意到,您正在使用scr,而不是正確的src的。

+0

它不是`src`屬性嗎? – Humberto 2011-02-22 17:29:36