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

相关推荐
Whisper_Sy29 分钟前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
Bony-1 小时前
Go语言垃圾回收机制详解与图解
开发语言·后端·golang
hmywillstronger1 小时前
【Rhino】【Python】 查询指定字段并cloud标注
开发语言·python
新缸中之脑1 小时前
Weave.js:开源实时白板库
开发语言·javascript·开源
我能坚持多久1 小时前
D16—C语言内功之数据在内存中的存储
c语言·开发语言
Amumu121381 小时前
Vue组件化编程
前端·javascript·vue.js
leo__5201 小时前
C#与三菱PLC串口通信源码实现(基于MC协议)
开发语言·c#
二十雨辰2 小时前
[python]-函数
开发语言·python
码农水水2 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
福楠2 小时前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法