2012-06-06 68 views
9

我认识到大多数情况下,CSS是实现均匀高度元素的最佳方式。但是,在我们处理页面或CMS的某些情况下,我们没有完全控制,我认为jQuery解决方案会非常方便。使用jQuery获取儿童的最大高度值,然后将该高度值应用于所有儿童

我想知道如何在jQuery中实现以下功能。我对jQuery语法不是很熟悉,但是这里是我伪装的jQuery /英语语法......这是否有意义,还是有更简单的方法来实现这一点?我知道下面的代码并没有丝毫的工作,这只是我的努力争取解决做出贡献的方式,并且间距在逻辑部门位:

$('div.columns')each.get.height; 
create an array of the height values 
grab the largest value in this array 
$('div.columns')each.css(height: $max-height); 

一旦你在我的伪代码笑个不停, 有任何想法吗? 谢谢!

回答

21

尝试这样:

var maxHeight = -1; 
$('div.columns').each(function() { 
    if ($(this).height() > maxHeight) { 
     maxHeight = $(this).height(); 
    } 
}); 
$('div.columns').height(maxHeight); 

注:这是一个未经测试的代码。但它应该有适合你的基本概念。您的原始概念很接近,但如果您只想保留最大高度值,则此处不需要数组。

+0

完美的作品!非常感谢你的指导! – LearnWebCode

+1

@Eric 我知道它有点迟,但我真的很想感谢你的这种做法。我一直在使用数组来做到这一点。我只有问题,maxHeight = -1做什么?如果我删除“-1”,代码不起作用。那么你能指导我吗?谢谢。 –

+2

@Symbolwdd很高兴帮助! -1为其提供了一个初始整数值用于比较。没有这个,它会使用'undefined',它不能与一个整数进行比较。 – Eric