Как стать автором
Обновить

IE против всех или игра в Прятки

Время на прочтение1 мин
Количество просмотров426
Столкнулся с одной (очередной) проблемой отрисовки таблиц с помощью DOM в Internet Explorer (текущая версия у меня 7.0.5730.13).
Я ее назвал Прятки, хотя рабочее название было Синдром слепого родителя

Сначала код:
<html>
<head>
</head>
<body>
<button onclick="add_row()">Add</button>
<button onclick="alert(document.getElementById('place').innerHTML)">Show inner</button>
<div id="place"></div>

<script type="text/javascript">
var place = document.getElementById("place");
var table = document.createElement("table");
place.appendChild(table);

function add_row() {
  var row = document.createElement("tr");
  var c1 = document.createElement("td");
  var c2 = document.createElement("td");
  
  row.appendChild(c1);
  row.appendChild(c2);
  
  table.appendChild(row);
  
  c1.innerHTML = "cell1";
  c2.innerHTML = "cell2";
}
</script>
</body>
</html>


* This source code was highlighted with Source Code Highlighter.


Также ссылка для собственноручного тестирования.

А теперь расскажу вкратце. При нажатии кнопки Add создается новая строка в таблице с двумя ячейками. Все это можно увидеть по нажатию кнопки Show inner. Но проблема в том, что IE не отрисовывает это строку на странице, хотя бережно и ответственно о них помнит и даже возвражает в innerHTML.

Решения пока не нашел :(
Теги:
Хабы:
Всего голосов 16: ↑8 и ↓80
Комментарии7

Публикации

Ближайшие события