javascript - 根据 jQuery 中多个实例的另一个元素高度设置高度

标签 javascript jquery html css function

我正在使用 jQuery 从一个 div 获取高度并通过 css 将其添加到另一个

所以我有以下布局作为示例:

<div class="row">
  <div class="column image">
    <img src="image.jpg" />
  </div>
  <div class="column content">
    <p>Content</p>
  </div>
</div>
<div class="row">
  <div class="column content">
    <p>Content</p>
  </div>
  <div class="column image">
    <img src="image.jpg" />
  </div>
</div>

使用以下 jQuery

function showHeight( element, height ) {
$( "div.image" ).css("height", height);
}

showHeight( "div", $( ".content" ).height() );

我将从“.content”获取高度并将该高度重新放入“.image”

现在显然这适用于一个实例,但我希望在多个实例上使用它,而不是为每个实例编写一个函数。

最佳答案

您可以遍历 .image 元素并根据 prev('.content') 元素更改其 height

function updateHeight() {
    // loop through all image elements
    $( "div.image" ).each(function(){
        // get `height` of the previous `.content` element
        var contentHeight = $(this).prev('.content').height();

        // set height
        $(this).css("height", contentHeight);
    });
}

//call one method to update 
updateHeight();

这仅在 .image 位于 .content 之后时才有效。我像这样重新排序了 HTML:

<div class="row">
  <div class="column content">
    <p>Content</p>
  </div>
  <div class="column image">
    <img src="image.jpg" />
  </div>
</div>
<div class="row">
  <div class="column content">
    <p>Content</p>
  </div>
  <div class="column image">
    <img src="image.jpg" />
  </div>
</div>

更新:

要以任何顺序查找最接近的 .content,请更改此

var contentHeight = $(this).prev('.content').height();

var contentHeight = $(this).prev('.content').height() || $(this).next('.content').height();

关于javascript - 根据 jQuery 中多个实例的另一个元素高度设置高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34866544/

相关文章:

javascript - 在单击按钮之前, Highcharts 显示为空

javascript - 通过 JQuery 关注 HTML 元素的下一个 tabindex onEnter keypress

javascript - 当点击另一个文本框外部时,jQuery MLKeyboard 不会消失

html - 创建相同大小的按钮

html - 我如何在此图像中嵌入响应式可播放的 YouTube 视频?

javascript - 如果存在则删除类并使用 jquery 添加新的类

JavaScript:使用 onchange 使用下拉菜单过滤数据

javascript - 清除 Javascript 中的 Var 或回调

html - 如何在垂直线上创建阴影效果

javascript - Node.js 需要带有构造函数参数的类