Я хочу создать динамическую таблицу с помощью Javascript, хочу создать такую таблицу:
<table>
<tbody>
<tr>
<th>Owner</th>
<th>Number</th>
</tr>
<tr>
<td>aaa</td>
<td> 3 </td>
</tr>
...
</tbody>
</table>
затем я пишу сценарий для создания таблицы, но я не могу получить правильную таблицу, я не знаю, где проблема, может ли кто-нибудь помочь ее проверить?
var arrName = ['aaa', 'bbb','ccc'];
var arrNumber = [3, 2, 4];
if (arrName.length != 0 && arrNumber.length != 0)
{
var table = document.createElement('table');
var tbody = document.createElement('tbody');
var tr_header = document.createElement('tr');
var th_owner = document.createElement('th');
var th_number = document.createElement('th');
th_owner.appendChild(document.createTextNode('Owner'));
th_number.appendChild(document.createTextNode('Number'));
tr_header.appendChild(th_owner);
tr_header.appendChild(th_number);
tbody.appendChild(tr_header);
for (var i = 0; i < arrName.length; i++)
{
var tr_details = document.createElement('tr');
var td_owner = document.createElement('td');
var td_count = document.createElement('td');
td_owner.appendChild(document.createTextNode(arrName[i].toString()));
td_count.appendChild(document.createTextNode(arrNumber[i].toString()));
tr_details.appendChild(td_owner);
tr_details.appendChild(td_count);
tbody.appendChild(tr_details);
}
table.appendChild(tbody);
}
}
Возможный дубликат Лучший способ добавить элемент DOM в тело с помощью JavaScript
попробуйте этот jsfiddle.net/y2jboszh/8, вы забыли добавить таблицу в document.body



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваш код работает отлично. Возможно, вы просто пропустили добавление таблицы на страницу. Я просто добавил в конец следующий код:
var body = document.getElementsByTagName('body');
body[0].appendChild(table);
Проверьте тестовую страницу, которую я написал:
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8" />
</head>
<body>
<script>
document.addEventListener('DOMContentLoaded', () => {
var arrName = ['aaa', 'bbb','ccc'];
var arrNumber = [3, 2, 4];
if (arrName.length != 0 && arrNumber.length != 0)
{
var table = document.createElement('table');
var tbody = document.createElement('tbody');
var tr_header = document.createElement('tr');
var th_owner = document.createElement('th');
var th_number = document.createElement('th');
th_owner.appendChild(document.createTextNode('Owner'));
th_number.appendChild(document.createTextNode('Number'));
tr_header.appendChild(th_owner);
tr_header.appendChild(th_number);
tbody.appendChild(tr_header);
for (var i = 0; i < arrName.length; i++)
{
var tr_details = document.createElement('tr');
var td_owner = document.createElement('td');
var td_count = document.createElement('td');
td_owner.appendChild(document.createTextNode(arrName[i].toString()));
td_count.appendChild(document.createTextNode(arrNumber[i].toString()));
tr_details.appendChild(td_owner);
tr_details.appendChild(td_count);
tbody.appendChild(tr_details);
}
table.appendChild(tbody);
var body = document.getElementsByTagName('body');
body[0].appendChild(table);
}
});
</script>
</body>
</html>
Я могу получить таблицу после добавления кода в качестве вашего примечания, спасибо: var body = document.getElementsByTagName ('body'); тело [0] .appendChild (таблица);
В чем проблема? Если я запустил ваш код, он, похоже, правильно создал таблицу на моей стороне.