文章 > JavaScript > js中DOM操作如何优化

js中DOM操作如何优化

js DOM

小妮浅浅

2021-10-29 11:41:52982浏览 · 0收藏 · 0评论

1,当想修改Dom样式时,应该尽可能合并所有的修改,并进行一次处理,以减少重排和重汇的次数。

  // 优化前
  const el = document.getElementById('test');
  el.style.borderLeft = '1px';
  el.style.borderRight = '2px';
  el.style.padding = '5px';
 
  // 优化后,一次性修改样式,这样可以将三次重排减少到一次重排
  const el = document.getElementById('test');
  el.style.cssText += '; border-left: 1px ;border-right: 2px; padding: 5px;'

2,当想批量修改DOM节点时,可以隐藏节点,然后进行一系列的修改操作,设置为可见,这样最多只能重新排列两次。

  // 未优化前
  const ele = document.getElementById('test');
  // 一系列dom修改操作
 
  // 优化方案一,将要修改的节点设置为不显示,之后对它进行修改,修改完成后再显示该节点,从而只需要两次重排
  const ele = document.getElementById('test');
  ele.style.display = 'none';
  // 一系列dom修改操作
  ele.style.display = 'block';
 
  // 优化方案二,首先创建一个文档片段(documentFragment),然后对该片段进行修改,之后将文档片段插入到文档中,只有最后将文档片段插入文档的时候会引起重排,因此只会触发一次重排。。
  const fragment = document.createDocumentFragment();
  const ele = document.getElementById('test');
  // 一系列dom修改操作
  ele.appendChild(fragment);

以上就是js中DOM操作的优化,希望对大家有所帮助。更多js学习指路:js教程

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

Baidu