Javascript 在DOM中添加/删除多个元素的最快方法

Javascript 在DOM中添加/删除多个元素的最快方法,javascript,dom,Javascript,Dom,Edit:它不是“最快DOM插入”的副本,因为它也包含事件侦听器变量。无论如何,我将编辑问题。 如果有人已经发现了,我想知道一些事情 我想知道在javascript中添加元素并与ie6+、chrome10+、firefox2+兼容的最快方法是什么 最快的技术可以: 添加单个元素 添加100个元素 添加1个元素或1000个元素的任意时间曲线 同上,但用于移除一个元素 添加/更改/删除内联样式属性 添加事件侦听器,如mousedown/mouseup/mouseover 添加/删除某些标记比删除其他

Edit:它不是“最快DOM插入”的副本,因为它也包含事件侦听器变量。无论如何,我将编辑问题。

如果有人已经发现了,我想知道一些事情

我想知道在javascript中添加元素并与ie6+、chrome10+、firefox2+兼容的最快方法是什么

最快的技术可以:

  • 添加单个元素
  • 添加100个元素
  • 添加1个元素或1000个元素的任意时间曲线

  • 同上,但用于移除一个元素

  • 添加/更改/删除内联样式属性

  • 添加事件侦听器,如mousedown/mouseup/mouseover

  • 添加/删除某些标记比删除其他标记更快吗?例如:添加/删除
    更快吗?(在添加模式中:我认为更快,因为它只有1个字母,而不是3个字母,可能是因为div是一个容器。我不知道,这就是为什么我要问:D)

  • 删除一个元素,以某种方式保存到js中,然后重新添加它,并保持事件侦听器在删除该元素之前的工作状态
  • 这是个大问题,所以如果你只知道其中一些问题,你可以随时分享你所知道的;)


    谢谢谷歌/你的朋友也是:

    例如,问题1/2,请参见

    我想,你可以搜索很多


    除了google/SO之外,搜索性能比较的另一个好地方是使用jsperf:and。我很肯定你的很多问题都有答案。如果您有一些问题没有回答,您也可以在主页上测试它们。

    1将父元素上
    innerHTML
    的值设置为包含新元素HTML的字符串。
    2与1相同。
    4将父元素上的
    innerHTML
    的值设置为空字符串。

    7.1调用
    Node.removeChild()
    ,保存返回的节点对象,然后将节点传递到
    Node.appendChild()

    的可能副本我发现了这个链接,我很清楚为什么dom+innerHTML+片段在ie7,8,9中更快,而dom+片段在chrome中更快。。。在文档中插入大量元素时,更改
    innerHTML
    的值要比操作DOM快得多。那么为什么在这些测试中不是这样呢?它应该更快,你是对的,但时间不是这样的。你是否尝试过替换默认代码,以便它插入几百个元素?我做到了,它表明替换innerHTML更快(使用Firefox 8.0a1)当然,使用innerHTML的更快:它只使用innerHTML,但后者同时使用innerHTML和DOM。所有链接都已失效。