【前端】场景题:如何在ul标签中插入多个节点 使用文档片段

news2024/11/26 2:34:10

直接插入的问题:会回流多次。每插入一次li就会回流一次,消耗性能。

在这里插入图片描述

这里可以使用文档片段来解决这个问题。

// 创建文档片段
let node = document.createDocumentFragment()

DocumentFragment节点存在于内存中,并不在DOM中,所以将子元素插入到文档片段中时不会引起页面回流,再将文档片段插入DOM树中,回流一次。

因此使用DocumentFragment可以起到性能优化的作用。

在这里插入图片描述

原本的html:

<ul></ul>

使用文档片段插入:

<script>
    let ul = document.getElementsByTagName('ul')[0]
    // 创建文档片段
    let node = document.createDocumentFragment()

    for (let i = 0; i < 5; i++) {
        let temp = document.createElement('li')
        node.appendChild(temp)
    }

    ul.append(node)
</script>

效果:

在这里插入图片描述
参考:

深入理解DocumentFragment -文档片段 - 掘金 (juejin.cn) javascript 在ul 标签里插入多个 li 节点,利用 createDocumengFragment_使用js向已有的ul中插入100个li_foolBirdd的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/978743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VR农学虚拟仿真情景实训教学演示

首先&#xff0c;VR农学虚拟仿真情景实训教学提供了更为真实的实践环境。传统的农学实训往往受制于时间、空间和资源的限制&#xff0c;学生只能通过观察或简单的模拟来学习农业知识和技能。而借助虚拟现实技术&#xff0c;学生可以进入虚拟农场&#xff0c;与各种农作物、工具…

直播软件app开发流程全解析

直播软件app开发是当今互联网行业中备受瞩目的领域。随着移动用户的爆发式增长和即时互动的需求日益增加&#xff0c;开发一款高质量的直播应用已经成为各个企业和个人创作者追逐的目标。本文将深入探讨直播软件app开发的全过程&#xff0c;为您揭示开发直播应用的关键步骤&…

uni-app语音转文字功能demo(同声传译)

目录 首先去微信开发者官网申请一下同声传译的插件 微信公众平台 在文件中开始引用&#xff1a; 首先去微信开发者官网申请一下同声传译的插件 微信公众平台 后续使用的时候可以看详情里面的信息进行使用 在文件中开始引用&#xff1a; 注意&#xff01;&#xff01;在这个…

【RuoYi移动端】uni-app中通过vuex的store来实现全局变量的修改和读取

一、在store文件中新建csjVar.js文件 const csjVar {csjMess: [{aaa:"ok"},{bbb:"no"}] } export default csjVar 二、修改store文件中新建index.js文件 import Vue from vue import Vuex from vuex import user from /store/modules/user import gette…

对于array的.toLocaleString()与.flat()区别

最近都使用到这两个方法&#xff0c;对于array。记录下具体区别 先是他们的简介,我这里用的就是string的.toLocaleString() &#xff0c;因为array的就是分别去调用里面的.toLocaleString() 在拼接成 string.toLocaleString() string[].toLocaleString()方法是一个JavaScrip…

解决Maven依赖下载问题:从阿里云公共仓库入手

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

Vue 2 条件渲染

条件渲染相关的指令有哪些&#xff1f; v-if、v-else、v-else-ifv-show v-if 的作用 <div v-if"expression"></div>v-if 根据表达式 expression 返回的值是否为 truthy 来决定其内容是否被渲染。 Vue还实现了 v-else 和 v-else-if&#xff1a; <d…

北斗提供关键技术支撑,车辆智能监管将迎来广阔发展前景

随着车辆数量的快速增长和道路交通压力的持续增加&#xff0c;如何保障交通安全和提升出行效率成为了亟待解决的问题。而车辆智能监管作为一种基于现代信息技术的管理方式&#xff0c;具有实时监控、数据分析和智能预警等优势&#xff0c;可以提高交通管理的精细化水平&#xf…

ClickHouse进阶(九):Clickhouse数据查询-3

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &#x1f4cc;订阅…

node socket.io

装包&#xff1a; yarn add socket.io node后台&#xff1a; const express require(express) const http require(http) const socket require(socket.io) const { getUserInfoByToken } require(../../utils/light/tools)let app express() const server http.createS…

武汉芯源半导体CW32F030系列MCU在电焊机的应用

随着工业技术的发展&#xff0c;单片机在许多领域都发挥了重要的作用。在电焊机中应用单片机&#xff0c;通过编写特定的程序&#xff0c;可以实现自动化控制、提高焊接质量和效率。 电焊机是一种用于金属焊接的设备&#xff0c;利用电弧热将金属熔化实现焊接。电焊机主要由电源…

Flutter实现CombineExecutor进行多个异步分组监听,监听第一个异步执行的开始和最后一个异步执行结束时机。

1.场景 我们在调用接口时&#xff0c;很多时候会同时调用多个接口&#xff0c;接口都是异步执行&#xff0c;我们很难知道调用的多个接口哪个会最后执行完成&#xff0c;我们有时候需要对最后一个接口执行完成的时机监听&#xff0c;所以基于该需求&#xff0c;设计了CombineE…

反序列化漏洞复现(typecho)

文章目录 执行phpinfogetshell 执行phpinfo 将下面这段代码复制到一个php文件&#xff0c;命名为typecho_1.0-14.10.10_unserialize_phpinfo.php&#xff0c;代码中定义的类名与typecho中的类相同&#xff0c;是它能识别的类&#xff1a; <?php class Typecho_Feed{const…

IPv6改造深化之路

01 IPv6改造问题及整体改造思路 随着“十四五”期间国家政策对IPv6深化改造及规模部署的推动&#xff0c;在IPv6改造过程中出现了越来越多的系统性问题&#xff0c;如图1所示。 图1 关于IPv6改造的各种疑问所有跨设备通信的IT软硬件系统均需要处理IP地址&#xff0c;各领域均需…

LeetCode —— 复写零(双指针)

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 将数组中出现的每个零复写一遍&#xff0c;然后将其他元素向右平移&#xff0c;数组长度不能改变。 法一&#xff1a;使用额外空间的做法 class Solution { public:void duplica…

以指标管理为抓手,亿信华辰助力锦州银行打造全行级数据应用

随着金融数字化转型的持续深入&#xff0c;数据智能的业务化应用等正逐步受到行业关注。锦州银行携手亿信华辰&#xff0c;开展全行级指标管理体系建设&#xff0c;实现指标数据统一管理、统一标准、统一来源、统一汇总、统一加工、统一呈现&#xff0c;以及持续推动基础数据治…

Day56|动态规划part16:647. 回文子串、516. 最长回文子序列、动态规划总结篇

647. 回文子串 leetcode链接&#xff1a;力扣题目链接 视频链接&#xff1a;动态规划&#xff0c;字符串性质决定了DP数组的定义 | LeetCode&#xff1a;647.回文子串 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过…

Mysql--技术文档--索引-《索引为什么查找数据快?》-超底层详细说明索引

索引的概念 在MySQL中&#xff0c;索引是一种数据结构&#xff0c;它被用于快速查找、读取或插入数据。索引能够极大地提高数据库查询的速度。 索引的工作方式类似于图书的索引。如果你想在图书馆找到一本书&#xff0c;你可以按照书名进行查找。书名就像是一个索引&#xf…

0012Java程序设计-springboot基于微信小程序的校园智慧帮系统的设计与实现

摘要目录相关技术2.1 MySQL数据库2.2 SpringBoot框架2.3 uniapp框架2.4 B/S架构 系统设计系统实现开发环境 摘要 随着移动互联网高速发展&#xff0c;手机、移动智能终端设备在生活中有着越来越重要的地位。在高校推崇以人为本的今天&#xff0c;也逐渐重视“移动互联网”技术…

微信小程序集成腾讯im,会话列表数据过多(长列表),卡顿问题的解决

说明 我这边用小程序集成im&#xff0c;然后结合公司的需求&#xff0c;做了一个聊天的小程序&#xff0c;在测试上线的时候没有问题&#xff0c;结果到客户那边&#xff0c;因为他们聊天的人多&#xff0c;会话列表达到了300多条&#xff0c;然后点击会话列表&#xff0c;进入…