Некоторое время назад я обнаружил следующую функцию javascript, которая позволяет динамически добавлять строки в таблицу:
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
}
Кто-нибудь, кто на самом деле имеет опыт работы с javascript (потому что у меня его почти нет), мог бы написать исправление, пропускающее теги <th>
?
Вот часть таблицы, на которую я не хочу влиять:
<table id="scheduler">
<tr>
<th scope="col">Engineer</th>
<th scope="col">Monday</th>
<th scope="col">Tuesday</th>
<th scope="col">Wednesday</th>
<th scope="col">Thursday</th>
<th scope="col">Friday</th>
<th scope="col">Saturday</th>
<th scope="col">Sunday</th>
</tr>
Моя проблема в том, что когда у меня есть теги <th>
, строка заголовка заканчивается строкой, которая становится «клонированной», а не строкой, в которой есть только теги <td>
.