2013-02-08 2 views
2

Кажется, что это должно быть очень просто, и я прочитал много документации, но не могу найти ответа.Получите высоту div и примените ее к элементу в div

У меня есть несколько вложенных div, и я хочу получить высоту каждого div на странице и применить его к каждому другому div, являющемуся дочерним элементом.

Мне нужно получить контейнер для каждого журнала-изображения и применить его к заголовку каждого журнала. На странице есть несколько экземпляров, поэтому лучше всего использовать инструкцию each().

Вот мой HTML

<div class="each-journal-image-container clearfix"> 
    <div class="four columns"> 
     <div class="each-journal-image delay-1 animated fadeInLeftBig"></div> 
     <div class="each-journal-image delay-1 animated fadeInLeftBig"></div> 
     <div class="each-journal-image delay-1 animated fadeInLeftBig"></div> 
     <div class="each-journal-image delay-1 animated fadeInLeftBig"></div> 
     <div class="each-journal-image delay-1 animated fadeInLeftBig"></div> 
    </div> 
    <div class="two columns"> 
     <div class="each-journal-image-caption delay-2 animated fadeInLeftBig"></div> 
    </div> 
</div> 

Cheers, R

ответ

4

Кратчайший решение, которое я мог думать:

$('.each-journal-image-container').each(function() { 
    var h = $(this).height(); 
    $(this).find('.each-journal-image-caption').height(h); 
}); 

конечно, вы могли бы объединить линии, как это, но это, мол, меньше эффективны, если у вас 1000 бонусов. Если у вас меньше ста, разница невелика:

$(this).find('.each-journal-image-caption').height($(this).height()); 
+0

Я думал, что это сработает ... но это не соответствует правильной высоте. Взгляни? http://goo.gl/9dyB1 Спасибо до сих пор :) –

+0

выглядит хорошо для меня (Chrome Version 24.0.1312.57 m) –

+0

О да, иногда это работает, иногда это не так. Может быть, если я его оберну. –

1

использование height() атрибут. Его можно использовать для обоих: получить высоту и установить высоту элемента.

$('.each-journal-image-container .four').height($('.each-journal-image-container .two').height()); 
+0

Я пытался это сделать, используя разные настройки, но я не могу справиться с этим. –

+0

@rdck - см. Образец кода. (например, для контейнеров - вам нужно пройти через правильные элементы, чтобы получить нужный код) – MarcinWolny

0

Это можно сделать так:

$('.each-journal-image-container').each(function(i,item){ 
    var height = $(item).height(); 
    $(this).find('.each-journal-image-caption').height(height); 
}); 
Смежные вопросы