javascript - 匹配每个父母中孩子的身高
问题描述
我正在尝试将一块 Jquery 放在一起,它将找到父母的孩子并使孩子与父母中最高的孩子具有相同的高度。
这是错误的,因为所有孩子的高度都匹配,并且应该唯一地应用于每个父母。
正如您在上面看到的,全宽列的高度与右下 50% 列的高度相匹配。这不应该发生,全宽列应该应用它自己的高度。
var colHeight = 0;
$('div.column-holder').children().each(function() {
if ($(this).height() > colHeight) {
colHeight = $(this).height();
}
});
$("div.column").height(colHeight);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="column-holder">
<div class="column">
<div class="shadow bg-white">
<div class="bdr-top-blue"></div>
<div class="container">
<h2>Test</h2>
<p>Lorem ipsum</p>
</div>
</div>
</div>
</div>
<div class="column-holder">
<div class="column">
<div class="shadow bg-white">
<div class="bdr-top-blue"></div>
<div class="container">
<h2>Test</h2>
<p>Lorem ipsum</p>
</div>
</div>
</div>
<div class="column">
<div class="shadow bg-white">
<div class="bdr-top-blue"></div>
<div class="container">
<h2>Test</h2>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
<p>Lorem ipsum</p>
</div>
</div>
</div>
</div>
解决方案
我认为你应该迭代父母而不是所有孩子。这样你就可以计算每个父母的最大高度
$('div.column-holder').each(function() {
var parent = $(this);
var maxHeight = 0;
parent.children().each(function() {
if ($(this).height() > maxHeight) {
maxHeight = $(this).height();
}
});
parent.find("div.column").height(maxHeight);
});
推荐阅读
- firebase - 如何进行数据查询,受firebase中子键的限制?
- python-3.x - 简单的神经网络产生过高的损失值
- automapper - 表达式 'dest => dest.Request.ID' 必须解析为顶级成员,而不是任何子对象的属性
- python - 调用除在线程中运行之外的方法
- ios - 在没有 API 的情况下快速显示 Web 内容
- ios - 如何在 swift 4 中从图像选择器获取照片本地 url
- javascript - 将文本框中的数字限制为 2 位(小于 100)
- php - 是否可以从其他服务器调用函数?
- javascript - 为什么调用去抖函数会抛出“不是函数”错误?
- javascript - 我想在数组中找到具有给定总和的子数组#。但是代码不能按我的意愿工作