“document.createElement”性能

时间:2014-09-25 08:51:45

标签: javascript jquery performance dom createelement

我想在弹出窗口中创建大量的行以使用for循环显示我的数据,我使用文本字符串来创建和附加div,但是我发现document.createElement是高性能的,并使用了提高性能20 %,但由于我填充了1000行,因此document.createElement创建元素所需的时间非常长。有没有办法通过创建一次元素来提高性能,并使用众多实例重新使用它,任何建议都将受到赞赏

1 个答案:

答案 0 :(得分:6)

创建元素后,可以使用Element.cloneNode()复制它。它与document.createElement()的时间相同,但有一个优点:如果您在元素上设置了多个属性或childNodes / innerHTML,则可以通过一次调用复制这些属性:Element.cloneNode(true)

大部分时间都会对新创建的元素进行DOM插入,因此每个新元素的插入都很慢。更快的方法是创建一个documentFragment,将所有新元素附加到您需要的结构中,然后将完整的片段添加到DOM中。