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

Смежные вопросы