2013-03-20 137 views
-1

我有一系列類似的字段:jQuery來使相鄰的div相同的高度

<div class="field-label-inline"> 
    <div class="field-label">something1</div> 
    <div class="field-items"> 
    <div class="field-item">sometext1</div> 
    </div> 
</div> 
<div class="field-label-inline"> 
    <div class="field-label">something2</div> 
    <div class="field-items"> 
    <div class="field-item">sometext2</div> 
</div> 

我想使點域標籤的所有實例的div相同的高度相鄰.field-items div(這個div的高度根據其內容而變化)。可悲的是我的jQuery幾乎不存在;這裏是我最好的,但失敗的嘗試:

$(document).ready(function(){  

    $('.field-label-inline > .field-label', this).each(function(){ 

    var itemsHeight = 0; 

    itemsHeight = $(this + .field-items).height(); 

    $(this).height(itemsHeight); 

    }); 
}); 
+0

爲什麼不能你只需要使用CSS? – Igor 2013-03-20 18:56:37

+0

使用.height().http://api.jquery.com/height/ – rnirnber 2013-03-20 18:58:35

回答

0

給你點域,標籤內嵌類固定高度,說500像素,然後給點域,標籤和點域項的100%的高度。我會在CSS中這樣做,但jQuery下面。

$(".field-label-inline").css("height","500px"); 
$(".field-label").css("height","100%"); 
$(".field-items").css("height","100%"); 
+0

的點域項DIV高度取決於點域項目div的內容,所以CSS不能提供解決方案有所不同。它必須是動態的。 jQuery需要找到每個.field-items div的高度並將其應用於.field-lable div。不幸的是,這是我無法解決jQuery的問題。 – elb 2013-03-21 07:39:34

0

最後。這工作。我不知道這是否是一個'好'的解決方案。

$(document).ready(function(){  

    $('.field-label-inline .field-label').each(function(){ 

    var itemsHeight = 0; 

    itemsHeight = $(this).next().height(); 

    $(this).height(itemsHeight); 

    }); 
}); 
+0

對我來說看起來還不錯,儘管縮進可以修復。另外,你可以合併兩行:var itemsHeight = $(this).next()。height()'。 – halfer 2018-01-08 18:42:34