2012-03-18 77 views
2

我試圖得到一個元素邊框的寬度與$('#foo').css('border-width-bottom'),但在IE7這將返回medium,而不是一個號碼,或者在它的數字(即7px的),甚至一個字符串。如何使用jQuery獲取IE7中元素的邊框寬度?

是否有一種方式來獲得的寬度,以像素爲單位,在IE7元素的邊界?我知道我可以欺騙並將這些字符串映射到它們的像素等價物,但有沒有更好的方法來實現它?

更新:我知道,如果你明確地設定像素的邊界,它會返回正確的值,但是如果設置什麼「中」?我想要的像素寬度,而不是邊界寬度屬性值。

回答

4

border-bottom-width作品就好在IE7中,這裏有一個小提琴:http://jsfiddle.net/2P7cn/

$(function(){ 
    alert($("#test").css("border-bottom-width")); 
}); 

編輯: 「中等/厚/薄」 的值是依賴於瀏覽器。對於一些掛羊頭賣狗肉(outerHeight-高度填充),你可以計算出邊界高度之和(由2或除以如果他們兩個中)減去已知的一個。

+0

對不起,我應該更新我的問題。如果你明確地設置了它,那麼它就可以工作,但是如果你將它設置爲「中等」。 FF將返回一個px金額,而IE7將保持'中等'。 +1雖然看着它。 – Igor 2012-03-18 03:48:16

+1

我明白你的意思了。 「中/厚/薄」值取決於瀏覽器。對於一些掛羊頭賣狗肉(outerHeight-高度填充),你可以計算出邊界高度之和(由2或除以如果他們兩個中)減去已知的一個。希望有所幫助。 – imsky 2012-03-18 04:01:07

+0

爲什麼不直接將其設置爲像素高度?這樣你就不必擔心它。 – javram 2012-03-18 04:17:49

相關問題