2010-03-13 63 views
2

假設我有這樣的形象:JQuery的:問題在得到元素的寬度在Chrome

$('[rel="shadow"]').width(); 

Firefox和IE報告的正確尺寸:

<img src="images/01.jpg" border="0" rel="shadow" /> 

然後使用jQuery,我用得到它的寬度圖像,例如140px而Chrome報告0.如何解決這個問題?

注:

我不想設定明確的圖像寬度,例如:

<img src="images/01.jpg" border="0" rel="shadow" width="140" /> 

那麼,如何讓跨瀏覽器的方式寬度不width屬性定義元素?

感謝

+0

什麼版本的Chrome?腳本是在'load'事件處理程序還是'$(document).ready'? – 2010-03-13 19:31:44

+0

@Crescent Fresh:Chrome版本是:** 4.0.295.0 **並且腳本在**內部。** – Sarfraz 2010-03-13 19:32:37

+0

看起來這對Chrome和Safari都有問題。 – 2010-03-13 19:32:54

回答

8
$(window).load(
    function() { 
     alert($('img').width()); 
    } 
); 

這將工作:Test case。基本上它會等到圖像加載執行代碼之前(當ready函數觸發文檔已被完全加載但圖像沒有時)。

+0

@Andreas Bonini:完美,負載永遠不會彈出在我心中,謝謝:) – Sarfraz 2010-03-13 19:37:48

+0

@ andreas-bonini謝謝救了我的一天! – Gagan 2015-08-13 05:56:45

+0

@Gagan:不客氣,我很高興我幾年前的一些答案今天仍然有用:) – 2015-09-06 07:28:37