jQuery .height()div with height:auto;意外行为

时间:2012-02-07 11:38:42

标签: jquery height

我有一个div(我们称之为#textbox_A),css中的高度设置为height:auto

通过jQuery,我希望获得#textbox_a的高度并给#textbox_B相同的高度:

$(document).ready(function(){ 
$("#textbox_B").css("height", $("#textbox_A").height())  });

如果我在#textbox_a的{​​{1}}的css中使用设定值,则此功能完全正常。

但是,只要我将其更改为height:600px;height:auto;要大于#textbox_B(当#textbox_a内容很少时)或小于#textbox_a#textbox_a有更多内容)。

什么可能导致这种行为?

编辑:我想在a slider中使用上述功能,以便右侧框在未展开时与左侧框具有相同的高度。

3 个答案:

答案 0 :(得分:1)

尝试,

$("#textbox_B").css("height", $("#textbox_A").height()+ "px")

.height()不返回单位。

答案 1 :(得分:0)

是#textbox_A相对于另一个div本身的高度?它可能是问题的根源。如果从未设置任何高度值,则不能有任何高度值。 首先,您应该定义一个高度为div的容器。

答案 2 :(得分:0)

检查这个jsFiddle:http://jsfiddle.net/jRcdw/11/

所做的更改

  1. <div id="slider_wrapper">已更改为<div id="slider_wrapper" style="overflow: auto;">
  2. doument.ready添加了功能
  3. $("#slider_wrapper").css("height", $("#textbox_A").css("height"));

    注意:如果您想要始终显示滚动条,请设置overflow: scroll

    希望这就是你要找的东西。