低效的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元素是很昂贵的,而在分离的情况下创建和修改它们,然后再将它们附加上,就会产生更好的性能。

相关推荐
Figo_Cheung5 分钟前
赛博疯态(Cyber-Madness)研究报告——基于人机交互中的情感共鸣、递归指涉与拟人化投射现象分析
开发语言·php·人机交互
计算机安禾8 分钟前
【数据结构与算法】第24篇:哈夫曼树与哈夫曼编码
c语言·开发语言·数据结构·c++·算法·visual studio
咚为15 分钟前
深入浅出 Rust 内存顺序:从 CPU 重排到 Atomic Ordering
开发语言·后端·rust
susu108301891119 分钟前
python代码把GIF 转成视频
开发语言·python
取码网23 分钟前
2025最新口红机防篡改版本源码
android·java·javascript
林姜泽樾34 分钟前
python入门第六课,其他字符串格式化和input
开发语言·python·pycharm
代码改善世界34 分钟前
【C++初阶】手撕C++ string类
java·开发语言·c++
追雨潮37 分钟前
内存向量检索引擎设计与实现:C# 轻量级 Milvus 替代方案
开发语言·c#·milvus
隐形喷火龙39 分钟前
CentOS7 基于 FRP 实现 Java Web 服务内网穿透实操记录
java·开发语言
小碗羊肉43 分钟前
【从零开始学Java | 第二十五篇】TreeSet
java·开发语言