2012-05-11 1 views
0

가장 짧은 방법은 어디입니까?jQuery를 사용하여 블록 높이를 동일하게하는 더 짧은 방법이 있습니까?

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

물론 존재한다면.

편집 : 니스, 감사 gyus!

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

감사를 증명 같은 사람은 * * 오해 :) –

+0

에 대한 maxHeght 바꾸기 내 편집 확인, 변수가 필요하지 않습니다 지금도 변경되었습니다 * 자동으로 * :) – 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. –

관련 문제