零基础 | 入门前端必备技巧——使用 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 元素。这种方式在需要根据用户交互或数据动态生成页面内容时非常实用,能够极大地提升页面的灵活性与交互性。

相关推荐
GISer_Jing14 分钟前
React手撕组件和Hooks总结
前端·react.js·前端框架
Warren984 小时前
Lua 脚本在 Redis 中的应用
java·前端·网络·vue.js·redis·junit·lua
mCell5 小时前
JavaScript 运行机制详解:再谈 Event Loop
前端·javascript·浏览器
amy_jork7 小时前
npm删除包
开发语言·javascript·ecmascript
帧栈9 小时前
开发避坑指南(27):Vue3中高效安全修改列表元素属性的方法
前端·vue.js
max5006009 小时前
基于桥梁三维模型的无人机检测路径规划系统设计与实现
前端·javascript·python·算法·无人机·easyui
excel9 小时前
使用函数式封装绘制科赫雪花(Koch Snowflake)
前端
我命由我123459 小时前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
萌萌哒草头将军10 小时前
Node.js v24.6.0 新功能速览 🚀🚀🚀
前端·javascript·node.js
AALoveTouch11 小时前
大麦APP抢票揭秘
javascript