2012-06-06 91 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