Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Не работает AppendChild для div, причём только в IE (https://javascript.ru/forum/css-html-internet-explorer/1140-ne-rabotaet-appendchild-dlya-div-prichjom-tolko-v-ie.html)

_Kpot_ 05.04.2008 11:41

Не работает AppendChild для div, причём только в IE
 
В InternetExplorer не работает такой вот код:
dynamicList.appendChild(innerTable);

А такой работает:
dynamicList.innerHTML += "<table>" + innerTable.innerHTML + "</table>";

По логике должен быть одинаковый результат.
dynamicList - это div
В FireFox и Opera работают оба варианта.

Илья Кантор 05.04.2008 15:09

а если заменить innerTable.innerHTML на реальный текст этом в примере?

vasa_c 07.04.2008 12:18

IE требует внутри TABLE TBODY, THEAD и т.д.

_Kpot_ 08.04.2008 07:48

Цитата:

Сообщение от vasa_c (Сообщение 1908)
IE требует внутри TABLE TBODY, THEAD и т.д.

Да, спасибо, дело именно в этом. Если добавлять строки в таблицу через insertRow, то tbody появляется автоматически, а если через appendChild -то нет.

Илья Кантор 08.04.2008 12:29

Очень странно, я попробовал

div.innerHTML += '<table><tr><td>123</td></tr></table>'

Все сработало в IE6,7

Случайной-зашедший 12.02.2009 10:55

Цитата:

Сообщение от Илья Кантор (Сообщение 1924)
Очень странно, я попробовал

div.innerHTML += '<table><tr><td>123</td></tr></table>'

Все сработало в IE6,7

усложните таблицу ;)
например, добавьте три ряда и три колонки
а для большего понимания поставьте еще и border=1, чтобы увидеть результат


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