2012-03-18 13 views
2

私は要素のボーダーの幅を$('#foo').css('border-width-bottom')で取得しようとしていますが、IE7ではこれは数字ではなくmediumで、数字ではなく文字列(つまり7px)でもあります。jQueryを使用してIE7で要素のボーダー幅を取得する方法は?

IE7で要素の境界の幅(ピクセル単位)を取得する方法はありますか?私は、文字列をそのピクセルの同等物に騙しマッピングすることができますが、それを行うためのよりクリーンな方法はありますか?

更新:境界線をピクセル単位で明示的に設定すると、適切な値が返されますが、「medium」に設定されている場合はどうなりますか? border-widthプロパティの値ではなく、幅をピクセルで指定します。 IE7でうまく

答えて

4

border-bottom-width作品、ここにフィドルます:http://jsfiddle.net/2P7cn/

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

編集: "ミディアム/厚い/薄い" の値は、ブラウザに依存しています。いくつかのトリッキー(outerHeight-height-padding)を使うと、境界の高さの合計を計算し、既知のものを減算することができます(または両方が中程度の場合は2で割ります)。

+0

申し訳ありませんが、私は私の質問を更新する必要があります。明示的に設定すると動作しますが、それを「中」に設定するとどうなりますか? FFはpxの金額を返しますが、IE7は「中」のままです。それを見て+1。 – Igor

+1

私はあなたが何を意味するかを見ます。 「medium/thick/thin」の値はブラウザによって異なります。いくつかのトリッキー(outerHeight-height-padding)を使うと、境界の高さの合計を計算し、既知のものを減算することができます(または両方が中程度の場合は2で割ります)。希望が役立ちます。 – imsky

+0

いつもピクセルの高さに設定するのはなぜですか?あなたはそれについて心配する必要はありませんそのように。 – javram

関連する問題