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

相关推荐
yanyu-yaya20 分钟前
速学兼复习之vue3章节3
前端·javascript·vue.js·学习·前端框架
林恒smileZAZ28 分钟前
前端拖拽,看似简单,其实处处是坑
前端·javascript·vue.js
小白学大数据29 分钟前
绕过拼多多 App 反抓包机制的综合逆向解决方案
开发语言·爬虫·python·自动化
使者大牙30 分钟前
【单点知识】 Python装饰器介绍
开发语言·数据库·python
带土132 分钟前
2. C++ private、protected、public
开发语言·c++
我不是8神35 分钟前
字节跳动 Eino 框架(Golang+AI)知识点全面总结
开发语言·人工智能·golang
古城小栈37 分钟前
Rust复合类型 四大军阀:数、元、切、串
开发语言·后端·rust
跟着珅聪学java44 分钟前
JavaScript中编写new Vue()实例的完整教程(Vue 2.x)
前端·javascript·vue.js
kong79069281 小时前
Python核心语法-Python自定义模块、Python包
开发语言·python·python核心语法
Marshmallowc1 小时前
React 合成事件失效?深度解析 stopPropagation 阻止冒泡无效的原因与 React 17+ 事件委派机制
前端·javascript·react.js·面试·合成事件