如果行的列数较少,则将 colspan 添加到动态 table 行的最后一个单元格

Add colspan to last cell of dynamic table row if row has fewer columns

也许以前有人问过这个问题,但我的许多 google 搜索都没有满足我的需求...

我有一个动态创建的 table。其中包含具有 4 列的行和具有 3 列的行。我想要做的是将行的最后一个单元格与 3 列对齐到 table 的最右侧。我认为最好的方法是将 colspan="2" 添加到 3 列行的最后一列。

所以我的问题是,我怎样才能在 table 中获得最多的列数,并向包含较少列数的行的最后一个单元格添加一个 colspan 来填补余额?

最好的方法是创建动态 table。

Here is the jsFiddle

如果您的问题是关于查找行的列数,那么这就是命令。

$("#columnCount").append($("#setTable tr:eq(1) td").length);

希望我理解你的问题。如果要在一个table本身显示3列和4列,那么代码需要修改为

this JSFiddle

希望您的问题得到解答。

您不需要为单个单元格设置 colspans。只需为 行的最后一个单元格使用一个大数字。它不会向 table 添加任何额外的 space。

在此代码段中,单击 填充 按钮将每行最后一个单元格中的 colspan 设置为 999:

$('button').click(function() {
  $('table tr').find('td:last').attr('colspan',999);
});
table {
  font: 14px verdana;
  border-spacing: 0;
  border-collapse: collapse;
}

td {
  border: 1px solid #aaa;
  padding: 0.2em;
  background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button>Fill</button>
<table>
  <tr><td>Lorem <td>ipsum <td>dolor <td>sit
  <tr><td>amet, <td>consectetur <td>adipiscing <td>elit, <td>sed <td>do
  <tr><td>eiusmod <td>tempor <td>incididunt <td>ut <td>labore
  <tr><td>et <td>dolore <td>magna
  <tr><td>aliqua.
</table>