2012-03-18 82 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

相关问题