У меня есть небольшая база данных, в которой я извлекал данные и сохранял их в таблице HTML.Невозможно прочитать свойство «appendchild» null в For-Loop
Эта таблица содержит 3 колонки и 3 строки.
Что я хочу сделать - через javascript создать div для каждой строки, тогда внутри этого создайте div для каждой ячейки в этой строке таблицы (чтобы разрешить стиль в CSS).
Я создал несколько циклов For, чтобы пройти и попытаться сделать это, моя проблема - это второй цикл, который я создал, он проходит один раз, и я получаю сообщение об ошибке «Can not read property» appendChild «null» , Я не уверен, почему он это делает. Любая помощь будет оценена по достоинству.
var getTable = document.getElementById('projectsTable');
var rowLength = getTable.rows.length;
for (i =0; i< rowLength; i++) {
var divName = 'projects' + i;
block = document.createElement('div');
block.id = divName;
document.getElementById('javascript').appendChild(block);
var getCells = getTable.rows.item(i).cells;
var cellLength = getCells.length;
for (var j = 0; j < cellLength; j++) {
var divName2 = 'projects' + j;
var projectInfo = 'info' + j;
info = document.createElement('div');
info.id = projectInfo;
document.getElementById(divName2).appendChild(info);
var cellVal = getCells.item(j).innerHTML;
var getDiv = document.getElementById(projectInfo);
getDiv.innerHTML = cellVal;
}
}
Первый цикл создает DIV для всей строки и присоединяет его к DIV на странице, которая уже существует, то я получаю ошибку на 2-й цикл.
Не было block.appendChild (info); будь проще? Поскольку block - ваш document.getElementById (divName2). Во всяком случае, это не работает, потому что var divName2 = 'projects' + j; должен быть var divName2 = 'projects' + i; – Lain
В зависимости от номера строки либо document.getElementById ('javascript'), либо document.getElementById (divName2) возвращает значение null. Вы должны быть в состоянии сказать, что через отладчик. – Brian
Меняя это, я не буду работать. Это будет означать, что каждая строка будет помещена в один и тот же div вместо создания новых. – UniqueName