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

相关推荐
天蓝色的鱼鱼21 分钟前
都2026年了还不会Vite插件开发?手写一个版本管理插件,5分钟包会!
前端·vite
苏武难飞33 分钟前
分享一个33号远征队的效果!
前端
鹏程十八少1 小时前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
亿元程序员1 小时前
这款值68亿的游戏,你不实战一下吗?安排!
前端
摸鱼的春哥2 小时前
Agent教程15:认识LangChain(中),状态机思维
前端·javascript·后端
明月_清风2 小时前
告别遮挡:用 scroll-padding 实现优雅的锚点跳转
前端·javascript
明月_清风2 小时前
原生 JS 侧边栏缩放:从 DOM 监听到底层优化
前端·javascript
万少11 小时前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站13 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名15 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员