Javascript来测量多个Div高度

Javascript来测量多个Div高度,javascript,jquery,css,height,measurement,Javascript,Jquery,Css,Height,Measurement,我正试图用jQuery构建一个手风琴菜单,但我遇到了跳跃的动画。跳跃是由于没有为div设置高度造成的。我的问题是,每个div将根据内容有不同的高度;所以问题是,我将如何使用javascript查看带有类“submenu”的每个div,测量它的高度并设置它 以下是我到目前为止的情况: $('.submenu').each(function() { var divh = $(this).height(); $(this).css('height', divh + 'px'); }); 我遇

我正试图用jQuery构建一个手风琴菜单,但我遇到了跳跃的动画。跳跃是由于没有为div设置高度造成的。我的问题是,每个div将根据内容有不同的高度;所以问题是,我将如何使用javascript查看带有类“submenu”的每个div,测量它的高度并设置它

以下是我到目前为止的情况:

$('.submenu').each(function() {
  var divh = $(this).height();
  $(this).css('height', divh + 'px');
});

我遇到的是,它似乎只测量一个。子菜单div,并将所有这些设置为该高度。思想?提前谢谢

假设也是这样:

$('.submenu').each(function() {
  var divh = $(this).height();
  $('.divClass').css('height',  $('.divClass').height() + divh + 'px');
});

您需要始终将for中的当前div高度添加到手风琴div中。相信我发现了问题。我在$(document).ready()函数中有上面的脚本,该函数只加载并随后测量DOM。将其移动到$(window).load()函数中,该函数允许它查看内容,然后测量高度。作为澄清,子菜单类div是手风琴div

$(window).load(function(){
  $('.submenu').each(function() {
    var divh = $(this).height();
    $(this).css('height', divh + 'px');
  });

  $('.submenu').hide();
});

使用手风琴的
autoHeight
选项可以解决这个问题。您不需要分别设置每个
div
高度。我不明白这里发生了什么-看起来您所做的只是获取元素的高度,然后再次将其设置为该高度。顺便说一句,你可以做
$(this).height(divh)@Zero21xxx我将尝试使用autoHeight选项,尽管它看起来只会确定最高的部分并为所有部分设置该高度。@NeXXeuS每个div都有不同的内容量,因此我通常无法为“submenu”类设置高度,所以是的,这是我正在做的,但对于多个div。如果未设置高度,则手风琴动画会跳跃。相信我发现了问题。我在$(document).ready()函数中有上面的脚本,该函数只加载并随后测量DOM。将其移动到$(window).load()函数,该函数将允许它查看内容并对其进行测量。变量divh应该可以做到这一点。mhh不确定我是否理解问题,但我已经编辑了代码。divClass应该是包含AccordionOrry的div。不太清楚,.submenu类是Accordiondiv。我找到了问题所在,我会把它作为一个答案。谢谢你的帮助,格雷格!