jquery - 使元素的高度等于 div

标签 jquery css

我正在尝试使“.caption”的高度与“.post”相同。

问题是我有很多高度不同的“.post”div。

这是我的:

$(document).ready(function (){
    var postH = $('.post').height();
    $('.caption').css( "height", postH );
});

它有效,但仅适用于第一个元素,其余元素保持第一个“.caption”的高度。

谢谢!

编辑:

HTML 结构:

<div class="content">

    <div class="entry">
        <div class="post">...</div>
        <div class="caption">...</div>
    </div>

    <div class="entry">
        <div class="post">...</div>
        <div class="caption">...</div>
    </div>

    <div class="entry">
        <div class="post">...</div>
        <div class="caption">...</div>
    </div>

    <div class="entry">
        <div class="post">...</div>
        <div class="caption">...</div>
    </div>

</div>

更新:

我终于找到了解决办法:

$('.entry').each(function() {
    $(this).height( $(this).find('.post').height() + 80 );
});

我将“.entry”的溢出设置为隐藏。 '+ 80' 是因为 '.post' 的内边距为 40。

最佳答案

如果我理解的很好,你有很多帖子和很多标题,所以它应该是这样的

$('.post').each(function() {
  $(this).closest('.caption').css('height', $(this).height());
});

这可能不适用于 closest(取决于您的结构),但您已经明白了。

编辑

来自你的更新

使用 next 而不是 closest

$('.post').each(function() {
    $(this).next('.caption').height($(this).height());
});

关于jquery - 使元素的高度等于 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21077026/

相关文章:

css - 如何仅在 TABLE 中的第一个 TR 中删除 TD 边框

javascript - 用css或canvas绘制曲线

javascript - 如何在页面加载时向下滚动网页 20px-50px?

jquery - 更新Youtube iframe

javascript - 保持 CSS 元素活跃

javascript - 如果 div 未隐藏,请单击任意位置以隐藏

javascript - Jquery:当悬停在菜单项上时,显示文本

javascript - js文件结构,返回值?

css - Roboto 压缩字体无法在 mozilla firefox 中正确呈现

html - 是否可以在列表组类 div 中实现下拉菜单项?