零基础 | 入门前端必备技巧——使用 DOM 操作插入 HTML 元素

在 Web 开发中,动态地将 HTML 元素插入到页面里是一项基础且关键的技能。本文会深入剖析一段运用 DOM 操作插入 HTML 元素的代码,以 EditInPlace 函数为例,讲解其实现思路与代码逻辑。

代码示例

editInPlace.js 文件

kotlin 复制代码
/**
*@func 初始化包含特定内容的元素
*@params {id,parent(父节点),value(默认值)}
*@author shuanyuan
*@date 2025-04-15
*/
function EditInPlace(id,parent,value) {
    this.id=id;
    this.parent=parent||document.body;
    this.value=value||"这个家伙很懒,什么都没有留下";
    this.createElement(this.id)
}

EditInPlace.prototype.createElement=function(id){
    this.containerElement=document.createElement("div");
    this.containerElement.id=id;
    this.parent.appendChild(this.containerElement);
    this.staticElement=document.createElement("span");
    this.staticElement.innerHTML=this.value;
    this.containerElement.appendChild(this.staticElement);
}

better.html 文件

xml 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>EditInPlace bilibili用户体验打造</title>
</head>
<body>
    <div id="app">
    </div>
    <script src="./editInPlace.js"></script>
    <script>
    // 流程代码,走向面向对象封装
    new EditInPlace(
        'ep1',
        document.getElementById('app')
    )
    </script>
</body>
</html>

代码详细解析

EditInPlace 构造函数

kotlin 复制代码
function EditInPlace(id,parent,value) {
    this.id=id;
    this.parent=parent||document.body;
    this.value=value||"这个家伙很懒,什么都没有留下";
    this.createElement(this.id)
}
  • 参数接收EditInPlace 函数接收三个参数,分别是 idparentvalueid 用于唯一标识元素;parent 是元素要插入的父节点,若未提供则默认使用 document.bodyvalue 是要显示的默认内容,若未提供则使用预设的提示信息。
  • 方法调用 :在构造函数内部调用 this.createElement(this.id) 方法,开始创建并插入 HTML 元素。

createElement 原型方法

javascript

kotlin 复制代码
EditInPlace.prototype.createElement=function(id){
    this.containerElement=document.createElement("div");
    this.containerElement.id=id;
    this.parent.appendChild(this.containerElement);
    this.staticElement=document.createElement("span");
    this.staticElement.innerHTML=this.value;
    this.containerElement.appendChild(this.staticElement);
}
  • 创建 div 容器 :运用 document.createElement("div") 创建一个 div 元素,将其作为容器,并通过 this.containerElement.id = id 为其设置 id。接着使用 this.parent.appendChild(this.containerElement)div 元素插入到指定的父节点中。
  • 创建 span 元素 :使用 document.createElement("span") 创建一个 span 元素,借助 this.staticElement.innerHTML = this.value 设置其显示内容。最后使用 this.containerElement.appendChild(this.staticElement)span 元素添加到 div 容器里。

better.html 文件中的调用

xml 复制代码
<script>
    new EditInPlace(
        'ep1',
        document.getElementById('app')
    )
</script>

在 HTML 文件中,通过 new 关键字实例化 EditInPlace 对象,传入 id 和父节点元素,从而触发元素的创建与插入操作。

总结

通过上述代码,我们清晰地看到如何利用 JavaScript 的构造函数和原型方法,结合 DOM 操作来动态插入 HTML 元素。这种方式在需要根据用户交互或数据动态生成页面内容时非常实用,能够极大地提升页面的灵活性与交互性。

相关推荐
Mr Xu_9 分钟前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝13 分钟前
RBAC前端架构-01:项目初始化
前端·架构
程序员agions21 分钟前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发22 分钟前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
程序员猫哥_29 分钟前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
龙飞0530 分钟前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
我爱加班、、35 分钟前
Websocket能携带token过去后端吗
前端·后端·websocket
AAA阿giao35 分钟前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架
杨超越luckly41 分钟前
HTML应用指南:利用GET请求获取中国500强企业名单,揭秘企业增长、分化与转型的新常态
前端·数据库·html·可视化·中国500强
hedley(●'◡'●)1 小时前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机