Почему динамическая таблица создается без контента?..
Добавляю в конец страницы табличку, содержимое которой динамически строится данными из массива.
Делаю так: var newTableArray={ {1,2,3}, {4,5,6}, {7,8,9} }; var newTableDOM=document.createElement('TABLE'); var newRow,newCell; for(i=0;i<newTableArray.length;i++) { newRow=document.createElement('TR'); for(j=0;j<newTableArray[i].length;j++) { newCell = (i==0) ? document.createElement('TH') : document.createElement('TD'); newCell.innerText=newTableArray[i][j]; newCell.className="t2"; newRow.appendChild(newCell); } newTableDOM.appendChild(newRow); } document.body.appendChild(newTableDOM); в хроме/опере таблица отображается вместе с содержимым, в фирефоксе - нет. Почему так, и как побороть?.. |
Во-первых, в элементе <table> должен быть обязательно хотя бы 1 <tbody>, и <tr> не может быть непосредственно в <table>, только через <thead>, <tbody> или <tfoot>.
Во-вторых метод innerText не является стандартным, лучше использовать textContent (не для IE<9) |
Цитата:
Цитата:
Вообще рекомендую юзать либо innerHTML как кроссбраузерное(если лень пару строк написать лишних), либо .appendChild(document.createTextNode('text')) как полностью соответствующее идеологии DOM. |
Спасибо, други!
не знал, что иннерТекст такой коварный.. |
Часовой пояс GMT +3, время: 16:21. |