insertRow与appendChild

eri*_*len 7 javascript dom dhtml

向表中添加行首选哪种方法?

var tr = tbl.insertRow(-1);

要么

var tr = document.createElement('tr'); tbl.appendChild(TR);

ale*_*emb 5

insertRow会好得多.它受到A级浏览器的支持,而且它的冗长和更简洁的API.


And*_*rew 5

我看到了 insertRow 的好论据,但我发现了一个缺点:insertRow 只能创建一个新的空行,而 appendChild 接受一个现有的行对象。使用 appendChild,您可以在表中移动行,将行从一个表移动到另一个表,或者从表中取出一行然后再将其放回(对于分页表非常方便)。要对 insertRow(和 insertCell)执行相同操作,您必须打包内容,创建新行和单元格,然后将旧内容添加到新单元格中。笨拙,而且似乎效率较低。有没有更优雅的方法来做到这一点?采用现有行对象的 insertRow 变体会很好。