2013-02-08 68 views
2

這看起來應該很容易,我已經閱讀了很多文檔,但似乎無法找到答案。獲取div的高度並將其應用於div內的元素

我有一些嵌套divs,我想獲得頁面上每個div的高度,並將其應用到另一個div的子元素。

我需要獲取each-journal-image-container並將其應用於each-journal-image-caption。在頁面上有多個這樣的實例,所以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> 

乾杯, [R

回答

4

我能想到的最短的解決方案:

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

,你可以結合這樣的線,但它理應少有效的,如果你有1000的div。如果你有不到100個,差異是可以忽略的:

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

我認爲這將工作......但它沒有采取正確的高度。看一看? http://goo.gl/9dyB1到目前爲止感謝:) – 2013-02-08 15:51:05

+0

對我來說看起來不錯(Chrome版本24.0.1312.57米) – 2013-02-08 15:59:39

+0

哦,是的,有時它有效,有時它不。也許如果我包裹它。 – 2013-02-08 16:01:52

1

使用height()屬性。它可以用於:獲取高度並設置元素的高度。

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

我一直在嘗試這個,使用不同種類的設置,但我似乎無法解決它。 – 2013-02-08 15:42:41

+0

@rdck - 查看代碼示例。 (這只是容器 - 你需要通過正確的元素循環來獲得你需要的代碼) – MarcinWolny 2013-02-08 15:44:29

0

你會做到這一點,像這樣:

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