如何使用循环创建新的 table 单元格?

How to create new table cells with loop?

如何使用循环创建新的 table 单元格,检查有多少行并在每行末尾添加一个新的 table 单元格?

示例html:

 <table id ="my_table">
                    <thead>
                        <tr>
                            <th>lorem ipsum</th>
                            <th>lorem ipsum</th>
                            <th>lorem ipsum</th>
                            <th>lorem ipsum</th>
                            <th>lorem ipsum</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>lorem ipsum</td>
                            <td>lorem ipsum</td>
                            <td>lorem ipsum</td>
                            <td>lorem ipsum</td>
                            <td><input type ="text" size ="3" value ="1"/></td>
                        </tr>
                        <tr>
                            <td>lorem ipsum</td>
                            <td>lorem ipsum</td>
                            <td>lorem ipsum</td>
                            <td>lorem ipsum</td>
                            <td><input type ="text" size ="3" value ="1"/></td>
                        </tr>

这就是我创建一个 td 的方式:

function my_test() {
    var my_tbody = document.getElementById('my_table').getElementsByTagName('tbody')[0].rows[0];
    var my_td = document.createElement('td');
    my_td.innerHTML = 'test';    
    my_table.appendChild(my_td);
}

以下是我认为它可以与 for 语句一起使用的方式:

for (var i = 0; i < my_table.length; i++) {
...and then the code above in here.
}

您可以使用 Array.prototype.forEach() 来完成您要查找的内容。我在从 querySelectorAll 返回的 NodeList 上调用 Array 的 slice(),这样我就可以在其上使用 Array 的函数。

var tbody = document.getElementById('my_table').querySelectorAll('tbody tr'),
  rows = Array.prototype.slice.call(tbody);

rows.forEach(function(row) {
  var td = document.createElement('td');
  td.textContent = 'New node';
  row.appendChild(td);
});
<table id="my_table">
  <thead>
    <tr>
      <th>lorem ipsum</th>
      <th>lorem ipsum</th>
      <th>lorem ipsum</th>
      <th>lorem ipsum</th>
      <th>lorem ipsum</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>lorem ipsum</td>
      <td>lorem ipsum</td>
      <td>lorem ipsum</td>
      <td>lorem ipsum</td>
      <td>
        <input type="text" size="3" value="1" />
      </td>
    </tr>
    <tr>
      <td>lorem ipsum</td>
      <td>lorem ipsum</td>
      <td>lorem ipsum</td>
      <td>lorem ipsum</td>
      <td>
        <input type="text" size="3" value="1" />
      </td>
    </tr>
  </tbody>
</table>