отображать таблицу в IE - PullRequest
       14

отображать таблицу в IE

1 голос
/ 14 марта 2010

У меня есть такой код:

var xPola = 10, //how many cols
    yPola = 10, //how many cols
    bokPola = 30, //size of cell
    body = document.getElementsByTagName('body')[0];


var tablica = document.createElement('table');
body.appendChild(tablica);

for( var y = 0; y < yPola; y++ ) {
    var rzad = document.createElement('tr');
    tablica.appendChild(rzad);
    for( var x = 0; x < xPola; x++ ) {
        var pole = document.createElement('td');
        pole.setAttribute('width', bokPola);
        pole.setAttribute('height', bokPola);
        rzad.appendChild(pole);
    }
};

отлично работает в FF, Chrome и Opera (отображает таблицу 10x10 со строками шириной и высотой 30px). В IE ничего не происходит. Я проверяю в Firebug Lite, и это в разделе HTML, внутри тега BODY, но я ничего не вижу. Что не так?

1 Ответ

2 голосов
/ 14 марта 2010

Требуется несколько настроек:

var xPola = 10, //how many cols
    yPola = 10, //how many cols
    bokPola = 30, //size of cell
    body = document.getElementsByTagName('body')[0];


var tablica = document.createElement('table');
body.appendChild(tablica);
var tbody = document.createElement('tbody');
tablica.appendChild(tbody);

for( var y = 0; y < yPola; y++ ) {
    var rzad = document.createElement('tr');
    tbody.appendChild(rzad);
    for( var x = 0; x < xPola; x++ ) {
        var pole = document.createElement('td');
        pole.innerHTML='&nbsp;';
        pole.style.width = pole.style.height = bokPola;
        rzad.appendChild(pole);
    }
}

IE требуется <tbody> в большинстве случаев, и он не отображает пустые ячейки, поэтому ему нужно пространство там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...