使用 JavaScript 在没有 ID 的情况下在 table 中创建 <tr>

Create <tr> in table without ID using JavaScript

我对现有 HTML table 的动态行创建有疑问。对不起,如果问题看起来很愚蠢,但我是 JavaScript 的初学者。这里是 HTML table (我不能在这里更改任何 HTML 代码):

我必须使用 JavaScript 添加行,但是因为我无法将 table id 添加到 HTML 代码,所以不可能通过 insertRow() 函数来完成。我已经尝试使用此代码,但它不起作用(即使使用 getElementsByClassName('some-tab') 也是如此)。不会创建行。代码:

var something = getElementsByTagName('table');
var tableca = something[0];

for (var i = 1; i < 4; i++) {

  var tr = document.createElement('tr');

  var td1 = document.createElement('td');
  var td2 = document.createElement('td');

  var text1 = document.createTextNode('Text1');
  var text2 = document.createTextNode('Text2');

  td1.appendChild(text1);
  td2.appendChild(text2);
  tr.appendChild(td1);
  tr.appendChild(td2);

  tableca.appendChild(tr);
}
document.body.appendChild(tableca);
<table class="some-tab">
  <tr>
    <th>Name</th>
    <th>Description</th>
  </tr>
  <tr>
    <td id="Username">Admin</td>
    <td id="Description">STH STH STH!</td>
  </tr>
</table>

有人能帮帮我吗?非常感谢你! :D

查看浏览器的开发者工具。

Uncaught ReferenceError: getElementsByTagName is not defined

getElementsByTagNamedocument 对象和 DOM 元素对象的方法。它不是全局的。

只需编辑代码的第一行。

var something = document.getElementsByTagName('table');
var tableca = something[0];

for (var i = 1; i < 4; i++) {

  var tr = document.createElement('tr');

  var td1 = document.createElement('td');
  var td2 = document.createElement('td');

  var text1 = document.createTextNode('Text1');
  var text2 = document.createTextNode('Text2');

  td1.appendChild(text1);
  td2.appendChild(text2);
  tr.appendChild(td1);
  tr.appendChild(td2);

  tableca.appendChild(tr);
}
document.body.appendChild(tableca);
<table class="some-tab">
  <tr>
    <th>Name</th>
    <th>Description</th>
  </tr>
  <tr>
    <td id="Username">Admin</td>
    <td id="Description">STH STH STH!</td>
  </tr>
</table>

这是因为您不能单独使用 getElementsByTagName 或 ClassName。整个语句是

document.getElementsByTagName('TABLE');

然后就可以了