Элемент id
в документе должен быть уникальным . Проблема здесь в том, что ваш document.getElementById("tr")
всегда будет возвращать первый элемент, который он найдет с этим id
, и поэтому все ваши <td>
элементы будут добавлены к первому <tr>
.
По порядку чтобы исправить это, вы можете удалить строку tr.setAttribute("id", "tr")
и использовать уже существующую переменную tr
для добавления дочернего элемента td
к.
function createtable() {
//Creating Table
var table = document.createElement("table")
table.innerHTML = ""
document.body.appendChild(table)
table.setAttribute("id", "table")
for (var i = 0; i < 50; i++) {
var tr = document.createElement("tr")
tr.innerHTML = ""
document.getElementById("table").appendChild(tr);
var td = document.createElement("td");
td.innerHTML = "test"
tr.appendChild(td)
}
}
createtable();
Приведенный выше код будет работать, но использование уже объявленных переменных вместо их повторного поиска также может быть применено к случаю table
. Кроме того, table.innerHTML = ""
не добавляет никакого значения, потому что innerHTML
уже пуст, когда вы создаете новый элемент.
function createtable() {
//Creating Table
var table = document.createElement("table");
document.body.appendChild(table);
for (var i = 0; i < 50; i++) {
var tr = document.createElement("tr");
table.appendChild(tr);
var td = document.createElement("td");
td.innerHTML = "test";
tr.appendChild(td);
}
}