Эксплорер, каким-то хреном, не понимает выставление innerHTML для <table>.
Уже промолчим про то, что он зачем-то автоматически создаёт <tbody> внутри себя. И запихивать TR-ы надо именно в него, иначе они не показываются.
Проявляется в моей Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7
<html>
<head>
<style type="text/css">
#target tr{
background-color: #69C;
}
</style>
</head>
<body>
<table style="background-color: black; width: 200px; color: white" cellpadding="0" cellspacing="1" id="target"></table>
<script type="text/javascript">
var table = document.getElementById('target');
// uncomment this to have error in IE
// table.innerHTML = "";
if(/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent))
table = table.getElementsByTagName('tbody')[0]; for(i = 0; i < 100; i++){
var tr = document.createElement("tr");
var td = document.createElement("td");
td.appendChild(document.createTextNode("test"));
tr.appendChild(td);
table.appendChild(tr);
if(i % 10 == 0)
alert("rows inserted and deleted: " + i)
table.removeChild(table.firstChild);
}
</script>
</body>
</html>
Для тех кто не понял прикола - в конце таблица остаётся совешенно пустой - в ней нету ни одного элемента.
А чёрное пространство - это остатки cellspacing-ов. Видимо при удалении строчек мозилка забывает их чистить