【问题标题】:How to get border width of an element in IE7 with jQuery?如何使用 jQuery 获取 IE7 中元素的边框宽度?
【发布时间】:2012-04-03 02:11:20
【问题描述】:

我正在尝试使用$('#foo').css('border-width-bottom') 获取元素边框的宽度,但在 IE7 中这将返回 medium 而不是数字,甚至是其中包含数字的字符串(即 7px)。

有没有办法在 IE7 中获取元素边框的宽度(以像素为单位)?我知道我可以作弊并将字符串映射到它们的像素等价物,但是有没有更简洁的方法呢?

更新:我知道如果您以像素为单位明确设置边框,它将返回正确的值,但如果将其设置为“中等”怎么办?我想要以像素为单位的宽度,而不是边框​​宽度属性值。

【问题讨论】:

    标签: jquery css internet-explorer internet-explorer-7


    【解决方案1】:

    border-bottom-width 在 IE7 中工作得很好,这是一个小提琴:http://jsfiddle.net/2P7cn/

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

    编辑:“中/厚/薄”值取决于浏览器。通过一些技巧(outerHeight-height-padding),您可以计算出边框高度总和并减去已知的高度(如果它们都是中等值,则除以 2)。

    【讨论】:

    • 对不起,我应该更新我的问题。如果您明确设置它,那么它可以工作,但是如果您将它设置为“中等”怎么办。 FF 将返回一个 px 数量,而 IE7 将保持“中等”。 +1 用于调查。
    • 我明白你的意思。 “中/厚/薄”值取决于浏览器。通过一些技巧(outerHeight-height-padding),您可以计算出边界高度总和并减去已知的高度(如果它们都是中等值,则除以 2)。希望对您有所帮助。
    • 为什么不一直设置为像素高度呢?这样你就不用担心了。
    • 我无权访问 css,不应该通过 jquery 更改它,真的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 2018-02-12
    相关资源
    最近更新 更多