jQuery DOM操作 – 性能比较?

我正在使用jQuery学习DOM操作,并希望了解浏览器性能最佳实践。

假设我有两个DOM元素(div,p,ol等),我希望用户只能看到第一个元素,然后才能看到第二个元素。

我可以:

  1. 使用replace()
  2. remove()第一个元素和add()第二个元素
  3. hide()第一个元素,show()第二个元素

两者之间的性能差异是什么:

  • 1对2
  • 2比3
  • 1对3

如果元素属于不同类型,是否还有其他性能考虑因素? 或者,如果元素是按钮或表单字段?

由于浏览器重排 ,浏览器必须重新渲染部分或全部页面,因此在资源方面删除和添加元素对资源来说是昂贵的。 你想尽可能避免回流; 它们很贵。

替换基本上是删除然后添加,因此以上适用。

显示和隐藏是最好的,因为它只是为元素添加样式。

您应用这些方法的元素类型也不应导致上述变化。

总之,使用.show().show() .hide()以获得最佳性能。

基本上如果你不想隐藏某些内容然后再显示它,最好隐藏()和show()。 这不会改变dom的任何内容,只是改变它的显示方式。