2013-02-08 59 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); 
});