2012-05-11 34 views
0

最短的路在哪裏?有沒有更簡單的方法來平等使用jQuery塊的高度?

var height=0; 
$('.el').each(function(){ 
height<$(this).height()?height=$(this).height():height=height 
}).height(height); 

如果它存在,當然。

編輯: 不錯,謝謝羅馬!

var h=0; 
$('.el').each(function(){ 
    h=Math.max(h,$(this).height()); 
}).height(h); 
+0

我說有沒有一個真正的,但有人可能* *證明我錯了:) – mattytommo

+1

看起來像我證明自己錯了:) – mattytommo

回答

2

略短,但清潔更快我想:

$(".el").height(Math.max.apply(null, $(".el").map(function() { 
    return $(this).height(); 
}).get())); 
+0

感謝。編輯你的代碼,替換maxHeght的高度 –

+0

檢查我的編輯,甚至不需要一個變量現在它改變了*自動* :) – mattytommo

+0

尼斯,但很難理解;) –

0

追加.height(height);到你的方法將只更新元素的新的最大後高度被發現。
您想要循環遍歷元素,然後將它們更改爲新找到的最大高度。
另外,使用Math.max進行比較。

4個字符少於您的字符,並且會更新所有元素。

var h=0; 
$('.el').each(function(){h=Math.max(h,$(this).height());}); 
$('.el').each(function(){$(this).height(h);}); 
+0

你的版本更短,但我的編輯更清晰。 –

+0

@yaponyal這基本上就是我所擁有的..將高度更改爲h,使用Math.max代替... gg。 –

相關問題