如何使用JavaScript DOM添加表格行

如何使用JavaScript DOM添加表格行

我们将学习如何使用JavaScript DOM添加表格行。为了实现这个目标,我们有多种方法。以下是其中一些方法。

  • 使用 insertRow() 方法

  • 创建新元素

使用insertRow()方法

insertRow()方法用于在表格开头插入新行。它创建一个新的 <tr> 元素 并将其插入到表格中。它接受一个数字作为参数,指定表格的位置。如果我们不传递任何参数,则在表格开头插入行。如果要在表格的最后插入行,则将-1作为参数传递。

语法

table.insertRow(index)

返回值 − 被插入的元素。

正如我们所知,一个正确的表格不仅有表格行( < tr>),还有被称为表格单元格的表格元素(< td>)。要在行内插入单元格,我们使用 insertCell() 方法。它在表格行内创建一个<td> 元素。它接受一个数字作为参数,指定该行内的单元格的索引。

语法

以下是插入单元格的语法 –

table.insertCell(index)

返回值 - 被插入的元素。

添加行到表格的步骤

  • 获取数据表元素。

  • 使用 insertRow() 方法创建行并将其插入到表中。

  • 使用 insertCell()方法创建新的单元格并将其插入到创建的行中。

  • 向新创建的单元格中添加数据。

示例

在这个示例中,我们有一个包含学生姓名和年龄的表格。我们将在表格末尾添加一个新的学生。

<!DOCTYPE html>
<html>
<head>
   <title> Example- add rows to a table using JavaScript DOM </title>
   <style>
      table,
      td,
      th {
         border: 1px solid black;
      }
   </style>
</head>
<body>
   <h2> Adding rows to a table using JavaScript DOM </h2>
   <p> Click on the button to add the row to the table </p>
   <button id="btn" onclick="addRow()"> Click me </button>
   <br><br>
   <table id="myTable">
      <thead>
         <th> Name </th>
         <th> Age </th>
         <th> City </th>
      </thead>
      <tbody>
         <tr>
            <td> Alex </td>
            <td> 20 </td>
            <td> New York </td>
         </tr>
         <tr>
            <td> Tim </td>
            <td> 18 </td>
            <td> Boston </td>
         </tr>
         <tr>
            <td> Mark </td>
            <td> 23 </td>
            <td> San Diego </td>
         </tr>
      </tbody>
   </table>
</body>
<script>
   function addRow() {
      // Get the table element in which you want to add row
      let table = document.getElementById("myTable");

      // Create a row using the inserRow() method and
      // specify the index where you want to add the row
      let row = table.insertRow(-1); // We are adding at the end

      // Create table cells
      let c1 = row.insertCell(0);
      let c2 = row.insertCell(1);
      let c3 = row.insertCell(2);

      // Add data to c1 and c2
      c1.innerText = "Elon"
      c2.innerText = 45
      c3.innerText = "Houston"
   }
</script>
</html>

通过创建新元素

在这种方法中,我们将使用 document.createElement() 方法创建新的行和列。

方法

以下是通过创建元素将行添加到表格的步骤。

  • 获取要添加行的表格主体元素

  • 创建行元素

  • 创建单元格并插入数据

  • 将单元格附加到行

  • 将行附加到表格主体

示例

<html>
<head>
   <title> Example- add rows to a table using JavaScript DOM </title>
   <style>
      table,
      td,
      th {
         border: 1px solid black;
      }
   </style>
</head>

<body>
   <h2> Adding rows to a table using JavaScript DOM </h2>
   <p>Click on the button to add the row to the table </p>
   <button id="btn" onclick="addRow()"> Click me </button>
   <br><br>
   <table id="myTable">
      <thead>
         <th> Name </th>
         <th> Age </th>
         <th> City </th>
         <th> Course </th>
      </thead>
      <tbody id="tableBody">
         <tr>
            <td> Alex </td>
            <td> 20 </td>
            <td> New York </td>
            <td> Java </td>
         </tr>
         <tr>
            <td> Tim </td>
            <td> 18 </td>
            <td> Boston </td>
            <td> Python </td>
         </tr>
         <tr>
            <td> Mark </td>
            <td> 23 </td>
            <td> San Diego </td>
            <td> JavaScript </td>
         </tr>
      </tbody>
   </table>
</body>
<script>
   function addRow() {
      // Get the table body element in which you want to add row
      let table = document.getElementById("tableBody");

      // Create row element
      let row = document.createElement("tr")

      // Create cells
      let c1 = document.createElement("td")
      let c2 = document.createElement("td")
      let c3 = document.createElement("td")
      let c4 = document.createElement("td")

      // Insert data to cells
      c1.innerText = "Elon"
      c2.innerText = "42"
      c3.innerText = "Houston"
      c4.innerText = "C++"

      // Append cells to row
      row.appendChild(c1);
      row.appendChild(c2);
      row.appendChild(c3);
      row.appendChild(c4);

      // Append row to table body
      table.appendChild(row)
   }
</script>
</html>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程