首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >insertRow与appendChild

insertRow与appendChild
EN

Stack Overflow用户
提问于 2009-05-18 20:12:42
回答 4查看 6.4K关注 0票数 7

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

var tr = tbl.insertRow(-1);

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-18 20:17:43

insertRow会更好。它被A级浏览器评为supported,而且更简洁、更干净。

票数 5
EN

Stack Overflow用户

发布于 2010-09-17 09:07:11

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

票数 5
EN

Stack Overflow用户

发布于 2009-05-18 20:28:55

因为它是DOM1,所以insertRow可能会被认为更可靠。

当在DOM之外操作时,appendChild方法在所有经过测试的浏览器(IE6/7、FF3、Chrome2、Opera9)上总是更快(尽管略快),但当试图修改文档内的表时(这是一种更常见的尝试),它的速度比慢得多。

换句话说:一定要使用insertRow

这些测试是在本地执行的,因此可能不可靠,请参阅此处的来源:http://pastie.org/482023

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/879563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档