news 2026/4/18 5:30:21

以下是使用JavaScript动态拼接数组内容到HTML的多种方法及示例:

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
以下是使用JavaScript动态拼接数组内容到HTML的多种方法及示例:

一、基础方法:字符串拼接 +innerHTML

适用场景:简单文本内容快速渲染

示例代码

<div id="output"></div> <script> const data = ["苹果", "香蕉", "橙子"]; let html = ""; data.forEach(item => { html += `<p>${item}</p>`; }); document.getElementById("output").innerHTML = html; </script>

特点:代码简洁,但需注意XSS风险,不适合复杂结构。


二、DOM操作:动态创建元素

适用场景:需要操作元素属性或事件

示例代码

<ul id="fruits"></ul> <script> const data = ["苹果", "香蕉", "橙子"]; const ul = document.getElementById("fruits"); data.forEach(item => { const li = document.createElement("li"); li.textContent = item; li.style.color = "blue"; // 可添加样式/事件 ul.appendChild(li); }); </script>

优势:避免XSS,支持动态交互。


三、模板字符串 +insertAdjacentHTML

适用场景:混合静态与动态内容

示例代码

<div id="container"></div> <script> const data = [18, 25, 30]; const container = document.getElementById("container"); const template = ` <div class="user"> <span>年龄:${data[0]}</span> <span>身高:${data[1]}</span> <span>体重:${data[2]}</span> </div> `; container.insertAdjacentHTML("beforeend", template); </script>

特点:保持HTML结构清晰,适合复杂模板。


四、处理对象数组

适用场景:渲染包含多个属性的数据

示例代码

<ul id="users"></ul> <script> const users = [ { name: "张三", age: 28 }, { name: "李四", age: 32 } ]; const ul = document.getElementById("users"); users.forEach(user => { const li = document.createElement("li"); li.innerHTML = `<strong>${user.name}</strong> - ${user.age}岁`; ul.appendChild(li); }); </script>

扩展:可结合模板引擎库(如Handlebars)实现更复杂渲染。


五、性能优化方案

  1. 文档片段(DocumentFragment)

    减少DOM操作次数,提升性能:

    const fragment = document.createDocumentFragment(); data.forEach(item => { const li = document.createElement("li"); li.textContent = item; fragment.appendChild(li); }); document.getElementById("list").appendChild(fragment);
  2. 分页加载

    大数据量时分批渲染:

    let page = 0; function loadPage(size) { const chunk = data.slice(page * size, (page+1)*size); // 渲染chunk到页面 page++; }

六、框架方案对比

框架

语法示例

特点

原生JS

element.innerHTML = data.map(...)

灵活但代码冗长

React

{data.map(item => <li>{item}</li>)}

组件化,虚拟DOM优化

Vue

{{ item }}在模板中直接绑定

声明式语法,双向绑定


七、安全注意事项

  1. 转义用户输入

    使用textContent而非innerHTML避免XSS:

    element.textContent = userInput; // 自动转义
  2. 内容安全策略(CSP)

    服务器端设置CSP头限制脚本执行。


通过上述方法,您可以根据需求选择最适合的动态渲染方案。简单场景推荐innerHTML拼接,复杂交互建议使用DOM操作,大数据量时结合分页或文档片段优化性能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 2:08:35

doris安装 BE

好的,安装 Doris 的 BE(Backend)节点是 Doris 集群部署的重要一步。以下是详细的安装步骤: 修改 BE 配置文件 apache-doris/be/conf/be.conf 的以下内容: ## 指定 Java 环境 JAVA_HOME=/home/doris/jdk # 指定 FE 监听 IP 的 CIDR 网段 priority_networks=127.0.0.1/32…

作者头像 李华
网站建设 2026/4/18 2:06:33

AI智能体的开发流程

开发AI智能体&#xff08;AI Agent&#xff09;&#xff0c;除了核心的逻辑构建&#xff0c;还必须深度考虑模型合规性、本土API生态集成以及中文语境下的意图理解。目前的开发趋势正从单纯的“提示词工程”转向“多智能体协同&#xff08;Multi-Agent&#xff09;”和“低代码…

作者头像 李华
网站建设 2026/4/18 2:05:19

介观交通流仿真软件:VISSIM (介观模式)_(11).交通排放与环境影响分析

交通排放与环境影响分析 在介观交通流仿真软件中&#xff0c;交通排放与环境影响分析是评估交通系统对环境影响的重要环节。通过仿真软件&#xff0c;我们可以模拟不同交通策略和条件下的排放情况&#xff0c;进而评估这些策略对环境的正面或负面影响。本节将详细介绍如何在 VI…

作者头像 李华
网站建设 2026/4/18 2:07:20

Coze智能体开发:Coze Studio模型配置

Coze Studio 是基于大语言模型的 AI 应用开发平台&#xff0c;首次部署运行 Coze Studio 开源版之前&#xff0c;你需要先克隆到本地的项目中&#xff0c;配置所需要的模型。项目正常运行过程中&#xff0c;也可以随时按需添加新的模型服务、删除不需要的模型服务。 模型列表 …

作者头像 李华
网站建设 2026/4/17 9:36:51

Coze智能体开发:什么是 Coze Studio

什么是 Coze Studio Coze Studio 是一站式 AI Agent 开发工具。提供各类最新大模型和工具、多种开发模式和框架&#xff0c;从开发到部署&#xff0c;为你提供最便捷的 AI Agent 开发环境。上万家企业、数百万开发者正在使 Coze Studio。 提供 AI Agent 开发所需的全部核心技术…

作者头像 李华
网站建设 2026/4/18 3:52:37

深入探索 UML:构建清晰软件架构的高效工具

摘要 本文详细介绍如何使用 PlantUML 来创建各种类型的图表,从基础的类图、序列图到高级的企业架构建模和C4模型。通过简明扼要的示例代码,我们展示了PlantUML的强大功能及其在项目规划、设计文档中的应用价值。不论你是初学者还是希望扩展知识的专业人士,都能从中获得实用…

作者头像 李华