Показать сообщение отдельно
  #13 (permalink)  
Старый 14.05.2020, 21:34
Интересующийся
Отправить личное сообщение для IgorFomenko Посмотреть профиль Найти все сообщения от IgorFomenko
 
Регистрация: 07.05.2020
Сообщений: 19

Всем спасибо, кстати я неправильно создал заголовок и это прокатило, хотя при помощи th я наверное стили бы уже не назначил через CSS style.
Вот правильная функция и к сожалению алгоритм создания заголовка отличен от алгоритма создания обычных строк, что нехорошо
function fromArrayOfObj(obj) {
    let tr, td, NR = obj.length, body = document.body
//table
    let tbl = document.createElement('table')
    tbl.id = 'table';
//caption
    let tcap = tbl.createCaption();
    tcap.innerHTML = "Сотрудники";
//header
    let thead = tbl.createTHead();
//     thead.style.border = '1px solid black'; не работает
    tr = thead.insertRow();   
    for (var key in obj[0]) {
           let th = document.createElement("th");         
           th.innerHTML = key;
           tr.appendChild(th);
           th.style.border = '1px solid black';
           th.style.fontWeight = 'bold';
           th.style["text-align"] = 'center';
    }
//fill table
    for (var i = 0; i < NR; i++) {
        tr = tbl.insertRow();
        for (var key in obj[0]) {
            td = tr.insertCell();
            td.appendChild(document.createTextNode(obj[i][key]));
            td.style.border = '1px solid black';
        }
    }
//apply styles
    tbl.style.border = '2px solid black';
    tbl.style.borderCollapse = 'collapse';

    body.appendChild(tbl);
}
Ответить с цитированием