首页 >web前端 >js教程 >如何使用 JavaScript 创建带有合并单元格的表格?

如何使用 JavaScript 创建带有合并单元格的表格?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-19 08:17:31428浏览

How to Create Tables with Merge Cells Using JavaScript?

使用 JavaScript 创建复杂的表格

在 JavaScript 中,可以使用

来创建表格。和元素。然而,有时需要结构更复杂的表格。

挑战:创建特定的表格结构

假设您有一个 JavaScript 函数,可以创建一个包含 3 行的表格每行 2 个单元格。如何调整此函数来创建下表:

<code class="html"><table>
  <tr>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td rowspan="2"> </td>
  </tr>
  <tr>
    <td> </td>
  </tr>
</table></code>

解决方案:使用 rowSpan 进行行合并

要创建具有合并单元格的表格,您需要使用 rowSpan 属性。以下是修改代码的方法:

JavaScript 代码:

<code class="javascript">function tableCreate() {
  const body = document.body;
  const tbl = document.createElement('table');

  for (let i = 0; i < 3; i++) {
    const row = document.createElement('tr');

    for (let j = 0; j < 2; j++) {
      if (i === 2 && j === 1) {
        continue;
      } else {
        const cell = document.createElement('td');
        cell.textContent = `Cell I${i}/J${j}`;
        if (i === 1 && j === 1) {
          cell.setAttribute('rowspan', '2');
        }
        row.appendChild(cell);
      }
    }
    tbl.appendChild(row);
  }
  body.appendChild(tbl);
}

tableCreate();</code>

说明:

  • rowSpan 属性被添加到第二行的第二个单元格,并将其与下面的单元格合并。
  • 具有 rowSpan 的单元格在 j === 1 迭代中被跳过,以防止重复的单元格。

使用 insertRow 和 insertCell 改进的简码:

<code class="javascript">function tableCreate() {
  const body = document.body;
  const tbl = document.createElement('table');
  tbl.style.width = '100px';
  tbl.style.border = '1px solid black';

  for (let i = 0; i < 3; i++) {
    const tr = tbl.insertRow();
    for (let j = 0; j < 2; j++) {
      if (i === 2 && j === 1) {
        break;
      } else {
        const td = tr.insertCell();
        td.appendChild(document.createTextNode(`Cell I${i}/J${j}`));
        td.style.border = '1px solid black';
        if (i === 1 && j === 1) {
          td.setAttribute('rowSpan', '2');
        }
      }
    }
  }
  body.appendChild(tbl);
}

tableCreate();</code>

此改进版本使用 insertRow 和 insertCell 方法来实现更简洁的实现。

以上是如何使用 JavaScript 创建带有合并单元格的表格?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn