Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   динамическое создание тадлицы (https://javascript.ru/forum/dom-window/1744-dinamicheskoe-sozdanie-tadlicy.html)

magistr_bender 11.09.2008 17:24

динамическое создание тадлицы
 
как создать таблицу с помощью createElement и заполнить её полями?

ZoNT 11.09.2008 17:56

какими полями?

magistr_bender 11.09.2008 18:55

я имал ввиду добавить в неё <tr> и <td>
но с этим я разобрался уже)
но теперь другая проблемма.. почему в ие неработает вариант

<input type="submit" value="Create" name="create" onclick="create_control()" />


<script language="JavaScript" type="text/javascript">
function create_control() {
        var e;
            e=document.createElement('table');
            e.setAttribute("width","100");
            e.setAttribute("height","100");
            e.setAttribute("border","1");
        e.style.position = 'absolute';
        document.body.appendChild(e);
}
</script>

а в опере и лисе пашет

ZoNT 11.09.2008 19:01

потому что таблица в ИЕ должна содержать tbody в обязательном порядке.

Используй table.insertRow(number) и table.rows[number].inserCell(number2) для вставки строк и ячеек (в строки). Тогда не надо думать о добавлении tbody, так как он создастся автоматически. Это родные методы таблицы и они работают быстро.

magistr_bender 11.09.2008 19:13

спасибо, буду пробовать

magistr_bender 11.09.2008 19:19

чёт неполучается вставить...
e.table.insertRow(1)

Kolyaj 11.09.2008 20:23

e.insertRow(-1); // если -1, то вставляется в конец

magistr_bender 11.09.2008 22:35

а параметры ровов и целов как задать тогда?

и кстати всё равно неработает

ZoNT 11.09.2008 22:55

var table = document.createElement('table');
var row = table.insertRow(0);
var cell = row.insertCell(0);
cell.innerHTML = 'йа ячейго';

document.body.appendChild(table);


или

var table = document.createElement('table');
var row = table.insertRow(-1);
var cell = row.insertCell(-1);
cell.innerHTML = '111';
var row = table.insertRow(-1);
var cell = row.insertCell(-1);
cell.innerHTML = '222';

document.body.appendChild(table);

magistr_bender 11.09.2008 23:10

о, пасибо .. теперь пашет во всех браузерах


Часовой пояс GMT +3, время: 01:22.