Я создал функцию, которая успешно добавляет таблицу со строками / ячейками и заполняет их из массива. Проблема в том, что они добавляются в верхнюю часть таблицы.
Он делает это, потому что строка var row = tbody.insertRow(r);
... я думаю / надеюсь.
Функция, указанная в приведенной ниже ссылке: appendTable(id)
Вот рабочий пример, который добавляется к началу: http://jsfiddle.net/JEAkX/4/
Я думал, что-то вроде этого будет работать: var row = insertRow(r).appendTo('tbody>tr:last');
однако это просто сломало функцию.
Я также пробовал МНОГИЕ различные комбинации .append()
и .appendTo()
на одной и той же линии, но безуспешно.
В качестве последнего шага я попробовал варианты на линии cell.innerHTML = "<input type='text' size='1' value='" + subset[i++] + "' />"
, но я думаю, что к тому времени местоположение уже определено.
Вот функция, извлеченная из примера:
function appendTable(id)
{
var tbody = document.getElementById(id).getElementsByTagName("tbody")[0];
var i = 0;
for (var r = 0; r < 2; r++) {
var row = tbody.insertRow(r);
for (var c = 0; c < 4; c++) {
var cell = row.insertCell(c);
cell.innerHTML = "<input type='text' size='1' value='" + subset[i++] + "' />"
}
}
}
С одной стороны, я не пытался (безуспешно) insertAfter
в какой-то момент, но читал, что я не смогу использовать его на том, чего не было при загрузке страницы.