如何使用 JavaScript 动态地将 id 插入到表格元素中?


在本文中,我们将学习如何使用 JavaScript 和 setAttribute API 动态地将 ID 插入到表格元素中。

在 Web 开发中,动态地将 ID 插入到 HTML 表格元素中是一种很有用的技巧,当我们需要唯一地识别和操作特定的行或单元格时,它就派上用场了。通过编程方式为表格元素分配 ID,我们可以在访问和修改表格内容方面获得更多控制和灵活性。

让我们通过一些示例来了解如何实现这一点。

示例 1

在这个示例中,我们通过计算可用的总行数并将该计数追加到一个空字符串来为表格行生成一个随机 ID。

文件名:index.html

<html lang="en">
   <head>
      <title>How to dynamically insert id into table element using JavaScript?</title>
   </head>
   <body>
      <h3>How to dynamically insert id into table element using JavaScript?</h3>
      <table id="myTable">
         <tr>
            <th>Row</th>
            <th>Data</th>
         </tr>
      </table>
      <button onclick="addRow()">Add Row</button>
      <script>
         function addRow() {
            const table = document.getElementById("myTable");
            const row = table.insertRow();
            const rowId = "" + (table.rows.length - 1); // Generate a unique ID
            row.id = rowId; // Set the ID of the row

            // Add cells to the new row
            const cell1 = row.insertCell(0);
            const cell2 = row.insertCell(1);

            // Insert content into cells
            cell1.innerHTML = "Row " + (table.rows.length - 1);
            cell2.innerHTML = "Data " + (table.rows.length - 1);
         }
      </script>
   </body>
</html>

示例 2

在这个示例中,我们将遵循上述代码模式,并使用三种不同的方法为表格单元格生成随机 ID,这些方法分别使用 classList 方法、classList 对象和 dataset 对象的 id 属性。

文件名:index.html

<html lang="en">
   <head>
      <title>
         How to dynamically insert id into table element using JavaScript?
      </title>
   </head>
   <body>
      <h3>How to dynamically insert id into table element using JavaScript?</h3>
      <table id="myTable">
         <tr>
            <th>Row</th>
            <th>Data</th>
         </tr>
      </table>
      <button onclick="addRowUsingObj()">Add Row Using classList object</button>
      <button onclick="addRowUsingMethod()">
         Add Row Using classList method
      </button>
      <button onclick="addRowUsingId()">Add Row Using the id property</button>
      <script>
         const table = document.getElementById("myTable");

         function addRowUsingObj() {
            // Example 1: Using classList object
            const row1 = table.insertRow();
            row1.classList.add("custom-row");

            // Insert content into cells
            const cell1 = row1.insertCell();
            const cell2 = row1.insertCell();
            cell1.innerHTML = "Row " + (table.rows.length - 1);
            cell2.innerHTML = "Data " + (table.rows.length - 1);
         }
 
         function addRowUsingMethod() {
            // Example 2: Using classList method
            const row3 = table.insertRow();
            row3.classList.add("row-highlight");

            // Insert content into cells
            const cell1 = row3.insertCell();
            const cell2 = row3.insertCell();
            cell1.innerHTML = "Row " + (table.rows.length - 1);
            cell2.innerHTML = "Data " + (table.rows.length - 1);
         }

         function addRowUsingId() {
            // Example 3: Using the id property of the dataset object
            const row4 = table.insertRow();
            const rowId = "row-" + (table.rows.length - 1); // Generate a unique ID
            row4.dataset.id = rowId; // Set the ID of the row

            // Insert content into cells
            const cell1 = row4.insertCell();
            const cell2 = row4.insertCell();
            cell1.innerHTML = "Row " + (table.rows.length - 1);
            cell2.innerHTML = "Data " + (table.rows.length - 1);
            // Add more cells and content for the other examples if needed
         }
      </script>
   </body>
</html>

结论

总之,使用 JavaScript 动态地将 ID 插入到表格元素中,可以有效地操作和交互表格中的特定元素。在提供的示例中,我们学习了如何动态地将 ID 插入到表格行和单元格中。通过利用 JavaScript 方法(如 insertRow、insertCell)并操作 id 属性,我们生成了唯一的 ID 并将其与相应的表格元素关联起来。

更新于: 2023年8月3日

1K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

立即开始
广告