$('')。css('height')返回计算高度,而不是JQuery中的CSS高度

时间:2014-07-02 02:05:45

标签: javascript jquery css

我使用CSS定义了元素的height属性。如果计算出的高度与定义的高度不同,则$(element).css(' height')返回计算出的高度,而不是我在CSS中定义的高度。我认为css()返回CSS中定义的高度。

这是表达我的意思的小提琴:http://jsfiddle.net/D9rQR/ 我希望css()返回100px,但它会返回20px。我使用的是Chrome。

如何使用JQuery / Javascript获取小提琴中定义的高度(100px?)

修改:在示例中,我设置了max-height来模拟不支持height select的浏览器中发生的情况。我使用以下内容检查浏览器是否正确计算高度:

if($('select').outerHeight()<parseInt($('select').css('height'))){
    // browser doesn't support "height" for "select"s
}

但是,这不起作用,因为$('select').css('height')总是返回计算的高度。

2 个答案:

答案 0 :(得分:0)

$('select').height()是没有填充的select高度

$('select').css('height')是实际高度(有填充)

$('select').css('height') = $('select').outerHeight();

答案 1 :(得分:-1)

如果您添加border:0;并移除max-height,您将获得正确的高度,因为除非border为0,否则不会在selected上应用高度,不确定这是否也适用于ie。