Здравствуйте. Есть функция, которая вставляет в таблицу строки и ячейки, но она вставляет всегда в два-три раза больше строк и ячеек чем нужно. Как исправить ту ситуацию?
Вот как выглядит код пустой таблицы:
<table id="myTable" class=""></table>
Вот функция, которая генерирует строки и ячейки:
function makeTable(){
var table = document.getElementById('myTable');
for (var cols = 0; cols < 2; cols++) {
var tr = document.createElement('tr');
table.appendChild(tr);
for (var rows = 0; rows < 2; rows++) {
var td = document.createElement('td');
tr.appendChild(td);
}
}
return table;
}
function makeTable() {
var table = document.getElementById('myTable');
for (var cols = 0; cols < 2; cols++) {
var tr = document.createElement('tr');
table.appendChild(tr);
for (var rows = 0; rows < 2; rows++) {
var td = document.createElement('td');
tr.appendChild(td);
}
}
return table;
}
makeTable();
td {
border: 1px solid black;
width: 20px;
height: 20px;
}
<table id="myTable" class=""></table>
Сама функция работает ожидаемо – вставляет две строки с двумя колонками за один вызов, поэтому ошибка кроется не в ней, а в вызывающем её коде. То есть где-то происходят лишние вызовы этой функции.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Когда я изменяю фон сайта с помощью JS, то не могу его зафиксировать