Почему динамическая таблица создается без контента?..
Добавляю в конец страницы табличку, содержимое которой динамически строится данными из массива.
Делаю так:
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, время: 03:48. |