2012-09-27 13 views
0

以下是代碼:jQuery的(本).find(DIV:第一).outerWidth IE 8錯誤

var b = this; 
b.children("li").each(function() { 
    var c = jQuery(this).find("div:first"); 
    var g = c.outerWidth(); 
    alert(g); 
} 

該警報語句拋出了在恆定的值的值 '3' 對於每次迭代,儘管它應該是不同的。僅在IE8中出現問題。原因和解決方法?

+5

您可以將HTML呢?你還使用哪個jQuery版本? – jsalonen

+3

你的情況又是什麼? – jsalonen

+0

這是如何在其他瀏覽器中使用的? 'b'不是一個jQuery對象。 – undefined

回答

0

這不是一個錯誤。 outerWidth返回「匹配元素集中第一個元素的當前計算寬度,包括填充和邊框」[1]

恰恰相反,在IE8中,由於渲染差異,內容的寬度與其他瀏覽器中的寬度不同。

您可以通過爲您的div指定固定寬度(例如width: 640px)來驗證此行爲,這將導致所有瀏覽器中的行爲一致。爲了演示一下:

http://jsfiddle.net/y5Uur/1/