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中不起作用。我做错了什么?
答案 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)。我补充说,它有效。