有人可以解释为什么这段脚本在IE中不起作用?它似乎在Firefox中运行正常。 我是appendChild()API的新手。
<html>
<head>
<script type='text/javascript'>
function makeTable()
{
nTable=document.createElement('table');
nTable.setAttribute('id','myTable');
nTable.setAttribute('border','1');
nRow1=document.createElement('tr');
nData11=document.createElement('td');
nData11.setAttribute('colspan','2');
nCenter11=document.createElement('center');
nBold=document.createElement('b');
nBold.appendChild(document.createTextNode('Title'));
nCenter11.appendChild(nBold);
nData11.appendChild(nCenter11);
nRow1.appendChild(nData11);
nRow2=document.createElement('tr');
nData21=document.createElement('td');
nCenter21=document.createElement('center');
nCenter21.appendChild(document.createTextNode('21'));
nData21.appendChild(nCenter21);
nData22=document.createElement('td');
nCenter22=document.createElement('center');
nCenter22.appendChild(document.createTextNode('22'));
nData22.appendChild(nCenter22);
nRow2.appendChild(nData21);
nRow2.appendChild(nData22);
nTable.appendChild(nRow1);
nTable.appendChild(nRow2);
alert('Almost there !');
try
{
document.getElementById('container').appendChild(nTable);
}
catch(e)
{
alert(e.message);
}
return;
}
</script>
</head>
<body>
<div id='container'>
</div>
<input type=button value='Go' onclick='makeTable();'>
</body>
</html>
答案 0 :(得分:4)
见http://msdn.microsoft.com/en-us/library/ms532998(VS.85).aspx#TOM_DOM。与Crescent Fresh在评论中提到的相似,IE需要在表格中插入一个tbody元素,以便您可以使用DOM:
注意 Internet Explorer需要这样做 你创建一个 tBody 元素并插入 使用DOM时,它进入表。 因为你正在操纵 文档树直接,Internet 资源管理器不会创建 tBody , 这是自动隐含的 使用HTML。