javascript - 将一个表格列表中的单元格高度分配给另一个列表

标签 javascript jquery html css

有几对<table>位于 html 页面上。

每对表具有相同的行数。

每对的第一个表的类别为 class1

每对的第二个表的类别为 class2 .

问题是:两个表中每个单元格的高度应相同。 如何用 jQuery 实现它?

我正在考虑使用 .eacheq或两者的组合,例如:

$('table.class2 tr').each(function(i){
      ????? = $(this).height();//suppose height of cells in class2 is bigger or the same so we shouldn't care about finding max value and assigning to the `tr` with smaller height
});

作为一个选项,id可能会分配 s 或其他类(但是由于某种原因我不想这样做)。

有什么建议吗? 附:我也相信如果我这样做$('table.class1 tr').each()class1 ,不是class2 ,表中的行顺序将是相同的(在控制台中检查)。

如果任何表格中的单元格高度可变,都可以。唯一的要求是每对第一行的高度相等,第二行的高度相等,依此类推。

谢谢。

最佳答案

你可以这样做:

$('table.class2 tr').each(function(i){
  var $table1Elem = $('table.class1 tr').eq(i);
  if($table1Elem.height()>$(this).height()){
    $(this).height($table1Elem.height());     
  }else{
    $('table.class1 tr').eq(i).css('height',$(this).height());
  }
});
<div style="float:left; width:49%;">
                <table class="class1">
                    <tr><td>text 1</td></tr>
                    <tr><td>text<br><br>2</td></tr>
                    <tr><td>text 3</td></tr>        
                </table>
            </div>
            <div style="float:left; width:49%;">
                <table class="class2">
                    <tr><td>text 1</td></tr>
                    <tr><td>text 2</td></tr>
                    <tr><td>text <br><br>3</td></tr>        
                </table>
            </div>

关于javascript - 将一个表格列表中的单元格高度分配给另一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28157982/

相关文章:

javascript - 在过滤器中注入(inject) HTML - angularJS

javascript - CRC32 每次都返回新整数

javascript - jQuery 悬停效果在某些计算机上的 Google Chrome 中不起作用

javascript - 如何使用 twitter bootstrap 3.1.1 模态

javascript - 从选择中获取自定义属性

javascript - 部署缩小的 JavaScript 文件并进行调试

javascript - 单击时按钮在 jquery 上不起作用

jquery - 如何使用 .data() 更改 jQuery 中的元素样式

javascript - 使用 javascript 更改按钮类不起作用

javascript - JQuery - 如何只对一个元素应用一次函数