JavaScript规范----DOM操作
一般通过JS代码操作DOM结构,会触发浏览器进行页面渲染。所以要尽量减少DOM操作,避免频繁的页面渲染对性能造成影响。
如有以下场景:程序执行ajax请求,并根据请求结果动态添加列表项。常见的做法是循环遍历数据项,生成LI节点,插入页面中的UL节点中。
如果返回结果有一万项,则整个流程会触发一万次页面渲染,页面会出现明显的卡顿现象。
解决方案有三种:
1) 原生JS代码可以通过创建documentFragment,将所有的添加列表项的操作先在创建的fragment上进行,再将整个fragment插入页面中的UL节点中。(如何创建fragment)
2) Jquery中可以将所有创建的节点先放入数组,执行append/appendTo等方法时传入该数组参数。
3) 将所有操作拼接成html字符串,再执行以下代码$('ul'). html(html)。
以上代码都只有执行一次页面渲染,减少浏览器的性能负担。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步