我想在弹出窗口中创建大量的行以使用for循环显示我的数据,我使用文本字符串来创建和附加div,但是我发现document.createElement
是高性能的,并使用了提高性能20 %,但由于我填充了1000行,因此document.createElement
创建元素所需的时间非常长。有没有办法通过创建一次元素来提高性能,并使用众多实例重新使用它,任何建议都将受到赞赏
答案 0 :(得分:6)
创建元素后,可以使用Element.cloneNode()
复制它。它与document.createElement()
的时间相同,但有一个优点:如果您在元素上设置了多个属性或childNodes / innerHTML,则可以通过一次调用复制这些属性:Element.cloneNode(true)
。
大部分时间都会对新创建的元素进行DOM插入,因此每个新元素的插入都很慢。更快的方法是创建一个documentFragment
,将所有新元素附加到您需要的结构中,然后将完整的片段添加到DOM中。