我有这段代码:
var maxHeight = 0;
$('div.height').each(function() { maxHeight = Math.max(maxHeight, $(this).height()); }).height(maxHeight);
此代码甚至可以计算每个框的长度。但我希望每个盒子的长度分别计算。我怎么能这样做?
我的HTML
<div class="height">
<div class="overlay height"></div>
Content
</div>
<div class="height">
<div class="overlay height"></div>
Content
</div>
答案 0 :(得分:1)
$('div.height').each(function() {
maxHeight = Math.max(maxHeight, $(this).height());
$(this).height(maxHeight);
})
答案 1 :(得分:1)
我自己已经弄清楚了,这就是解决方案:
$('div.height').each(function() {
hParent = $(this).height();
hChild = $(this).find('div.overlay').height();
maxHeight = Math.max(hParent, hChild);
$(this).height(maxHeight);
$(this).find('div.overlay').css("height",(maxHeight-72)+"px");
});
答案 2 :(得分:0)
在当前代码中,您将所有内容设置为maxHeight的CURRENT值,而不是maxHeight的FINAL值。如果我理解你打算做的正确,那么试着把它分开:
var maxHeight = 0;
$('div.height').each(function() { maxHeight = Math.max(maxHeight, $(this).height()); });
$('div.height').height(maxHeight);
这会将最终的maxHeight应用于所有div。