javascript - 遍历每一行并使 p 标签具有相同的高度

标签 javascript jquery html

我需要一些建议:

<div class="container p-rows">
  <div class="row">
    <div class="col-lg-6">
      <p class="ck-edit-col-bodytext">some text</div>
    </div>

    <div class="col-lg-6">
      <p class="ck-edit-col-bodytext">some more more text</div>
    </div>
  </div>

  <div class="row">
    <div class="col-lg-6">
      <p class="ck-edit-col-bodytext">some text</div>
    </div>

    <div class="col-lg-6">
      <p class="ck-edit-col-bodytext">some more more text</div>
    </div>
  </div>

  <div class="row">
    <div class="col-lg-6">
      <p class="ck-edit-col-bodytext">some text</div>
    </div>

    <div class="col-lg-6">
      <p class="ck-edit-col-bodytext">some more more text</div>
    </div>
  </div>

  <!-- some more rows -->
</div>

每行中的每个 p 标签都有不同的高度,具体取决于其中的文本量。我想要做的是遍历每一行并检测哪个 p 标签具有最大的 height。然后使行内的所有其他 p 标记具有相同的高度。

我的尝试:

var pTagHeight = -1;
jQ('.p-rows .row').each(function() {
  pTagHeight = pTagHeight > jQ('.ck-edit-col-bodytext').height() ? pTagHeight : jQ('.ck-edit-col-bodytext').height();
  jQ('.ck-edit-col-bodytext').height(pTagHeight);
  pTagHeight = -1;
});

但我无法让它工作。有什么想法吗?

最佳答案

您需要先遍历每一行并找出该行中最高的 p 标记,然后将该高度应用于所有相关的 p

试试这个:

jQ('.p-rows .row').each(function() {
    var $p = jQ(this).find('p');
    var heights = $p.map(function(i, e) { return jQ(e).height(); }).get();
    $p.height(Math.max.apply(this, heights));
});

关于javascript - 遍历每一行并使 p 标签具有相同的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28276058/

相关文章:

javascript - 循环 JSON 并将内容分成三列

jquery - 将 HTML 渲染到 Div (jQuery/ColdFusion/Ajax)

html - 表单内的图像按钮,不想提交

javascript - 如何居中并保持对模态图像的关注

javascript - Coffeescript 未捕获引用

javascript - Node.js 脚本不退出

javascript - 在 Angular 之外使用 Angular 常量

javascript - 在完整网站上搜索并替换为 JQuery、php 或其他内容

html - 没有 Bootstrap 的响应式设计

Javascript - 在递归函数中获取setTimeout的返回值