找到绝对定位的子元素的高度并将其高度设置为其父元素

时间:2013-02-22 13:30:19

标签: javascript jquery html css absolute

我有一个评论列表,其内容位于绝对定位的div中。这是设计的一部分。它们位于弹出框中,设置为显示:无,然后使用单击事件淡入。

我遇到的问题是我需要获取内部绝对内容的高度并将该高度设置为其父级,并且似乎无法使其工作。每个项目可以是任意长度,因为它们是评论。

我在这里做了一个小提琴来展示我有什么样的结构。 http://jsfiddle.net/ZTDyA/

这是结构

<div class="hidden">
    <ul class="list">
        <li>
            <div class="inner">there is some content here</div>
            <div class="base">This is a div under the .inner div</div>
        </li>
        <li>
            <div class="inner">For the thing I have made this has to be positioned absolutely, but the content could be of any length so I need the parent to each of these inners to be set to the height of the inner div.</div>
            <div class="base">This is a div under the .inner div</div>
        </li>
    </ul>
</div>

2 个答案:

答案 0 :(得分:2)

当然,你可以这样做:

$('.list li').each(function() {
    $(this).height( $('.inner', this).height() );
});

jsFiddle:http://jsfiddle.net/ZTDyA/1/

我没有得到的是它绝对定位的原因。如果有的话,你可能想要绝对定位LI。也许如果你详细说明,我们可以提供更好的解决方案。像这样设置高度(通过js)是不好的做法。

答案 1 :(得分:0)

检查一下:

$('button').on('click', function() {    
var hei=  $('.inner').height();
$('.inner').closest('li').height(hei); 
});