jQuery将高度添加到父级

时间:2011-08-18 20:12:48

标签: jquery css

我有8个不同高度的标签。每个都有一个类似的类,而活动选项卡有自己的类。

如何获取活动标签的高度并将其作为样式添加到其父级? (当其他选项卡变为活动状态时,需要添加新的高度。)

下面的代码是我想要获得的一个例子。感谢。

<div id="parent" style="height: 1426px;">
  <div class="child"></div>         ( height: 2245px )
  <div class="child"></div>         ( height: 983px )
  <div class="child"></div>         ( height: 3004px )
  <div class="child active"></div>  ( height: 1426px )
  <div class="child"></div>         ( height: 1209px )
</div>

3 个答案:

答案 0 :(得分:2)

var childHeight = $(".active", "#parent").height();
$("#parent").height(childHeight)

或单行

$("#parent").height( $(".active", "#parent").height() );

答案 1 :(得分:2)

你可以这样做:

$('#parent').height($('.active').height());

但是,由于孩子在父母之下,你应该这样做:

$('#parent').height($('.active').outerHeight());

如果要在选择新选项卡时设置高度,则必须将该行放在设置“活动”类的同一位置。它可能看起来像这样:

$('#parent').find('.child').click(function() {
    var $this = $(this);
    $this.addClass('active').siblings().removeClass('active');
    $('#parent').height($this.outerHeight());
});

答案 2 :(得分:0)

这样:

 var child_selected_height = $('div.child.active').css('height');
$('#parent').css('height', child_selected_height);

或更简单:

$('#parent').css('height', $('div.child.active').css('height'));