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

相关推荐
寻寻觅觅☆7 小时前
东华OJ-基础题-31-素数(C++)
开发语言·c++·算法
松小白song7 小时前
PID详解+Matlab实现
开发语言·数据结构·matlab
张二娃同学7 小时前
基于 Python 与 Tkinter 的猜数字游戏设计与实现:支持玩家猜数与 AI 反向推理
开发语言·git·python·游戏·开源
jwn9997 小时前
PHP vs 易语言:5大核心区别详解
开发语言·php
Mr_Xuhhh7 小时前
C++算法刷题:排序子序列、削减整数、最长上升子序列(二)题解
开发语言·c++·算法
xuankuxiaoyao8 小时前
VUE.JS实践--事件对象和计算属性
javascript·vue.js·ecmascript
迈巴赫车主8 小时前
蓝桥杯 19717 挖矿java
java·开发语言·数据结构·算法·职场和发展·蓝桥杯
Sag_ever8 小时前
Java String 类详解:字符串常用方法 + 不可变性 一网打尽
java·开发语言
顶点多余8 小时前
死锁+线程安全
linux·开发语言·c++·系统安全