低效的DOM操作(js的问题)

使用 JavaScript 操作DOM(即添加、修改和删除元素)是相对容易,但操作效率却不怎么样。

比如,每次添加一系列DOM元素。添加一个DOM元素是一个昂贵的操作。连续添加多个DOM元素的代码是低效的。

当需要添加多个DOM元素时,一个有效的替代方法是使用 document fragments来代替,从而提高效率和性能。

html 复制代码
var div = document.getElementsByTagName("my_div");
	
var fragment = document.createDocumentFragment();

for (var e = 0; e < elems.length; e++) {  // elems previously set to list of elements
    fragment.appendChild(elems[e]);
}
div.appendChild(fragment.cloneNode(true));

除了这种方法固有的效率提高外,创建附加的DOM元素是很昂贵的,而在分离的情况下创建和修改它们,然后再将它们附加上,就会产生更好的性能。

相关推荐
秋雨梧桐叶落莳4 分钟前
iOS——Masonry约束内容整理
开发语言·学习·macos·ios·objective-c·cocoa
Hesionberger5 分钟前
LeetCode72.编辑距离(多维动态规划)
java·开发语言·c++·python·算法
❆VE❆9 分钟前
React基础篇(三):项目中 React 基础核心知识点实战
前端·javascript·react.js·前端框架
Hello--_--World11 分钟前
React 的核心设计理念是什么?并列举三大核心特性。
javascript·react.js·ecmascript
Via_Neo13 分钟前
Bash Game
开发语言·bash
淸湫13 分钟前
前端JavaScript:NaN、undefined、null详解
javascript
栀栀栀栀栀栀16 分钟前
强迫症犯了(゚∀゚) 2026/4/26
前端·javascript·vue.js
RPGMZ17 分钟前
RPGMakerMZ 获取敌人攻击时属性 用于画UI或属性克制
javascript·游戏引擎·rpgmz·rpgmakermz
菜菜的顾清寒34 分钟前
C++面试题自用-持续更新
开发语言·c++
t***54440 分钟前
如何在 Dev-C++ 中使用 Clang 调试
开发语言·c++