innerHTML在FF中工作,但在IE7中不工作

时间:2010-11-09 20:47:35

标签: javascript internet-explorer

var row = document.getElementById('my_id');
var newRow = row.parentNode.insertRow();
newRow.Id = myCounter;

var newCell2 = newRow.insertCell(0);
newCell2.innerHTML = 'some text';  

我正在尝试在该行中创建一个新行和一个新单元格。上面的代码在FF中工作,但在IE中不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:1)

var newRow = row.parentNode.insertRow();

Should be insertRow(-1)如果您要附加到父级的末尾。

另外要注意:即使您没有添加parentNode标记,row的{​​{1}}仍为<tbody>。这是因为在HTML中,<tbody>被视为可选的开始标记,如果在<tbody>之前省略则隐含。如果您期望<tr>成为parentNode,您可能会感到困惑。

(XHTML更明智地解析表。)

话虽如此,您的代码在IE中适用于我(给定合适的标记和有效的<table>)。发布失败的测试用例?

答案 1 :(得分:0)

没关系。 IE期望document.CreateElement(“td”)(以及tr)。我补充说,它有效。