零基础快速入门前端DOM 操作核心知识与实战解析(完整汇总版)(可用于备赛蓝桥杯Web应用开发)

零基础快速入门前端DOM 操作核心知识与实战解析(完整汇总版)(可用于备赛蓝桥杯Web应用开发)

DOM(Document Object Model,文档对象模型)是 JavaScript 操作 HTML 文档的桥梁,它将网页转换为一棵 “树”,每个 HTML 标签、属性、文本都是树上的节点。掌握 DOM 操作,就能动态改变网页内容、样式和交互。本文结合实战代码,从基础到进阶系统梳理 DOM 核心知识。

一、DOM 元素获取:找到要操作的 “节点”

操作 DOM 的第一步是 “找到元素”,常用方法如下:

方法

描述

示例

querySelector()

通过 CSS 选择器获取单个元素

document.querySelector(".div1")

getElementById()

通过 id 获取单个元素

document.getElementById("dd")

querySelectorAll()

通过 CSS 选择器获取所有元素

document.querySelectorAll("div")

代码示例

var div1 = document.querySelector(".div1"); // 获取 class 为 div1 的第一个元素 var div2 = document.querySelector(".div2");

二、DOM 属性操作:修改标签的 “固有属性” 与 “自定义属性”

1. 固有属性操作

HTML 标签的固有属性(如 idsrchref)可通过 元素.属性名 直接修改。

代码示例:切换 div1id 属性

function div1Click() { if (div1.id == "dd") { div1.id = "dd2"; // 直接修改 id 属性 } else { div1.id = "dd"; } }

2. 自定义属性操作

除了固有属性,还可给元素添加自定义属性(如代码中的 index)存储数据,常用方法:

方法

描述

示例

setAttribute(name, value)

设置自定义属性(或修改固有属性)

div1.setAttribute('index', 0)

getAttribute(name)

获取属性值(支持自定义 / 固有属性)

div1.getAttribute('index')

代码示例:给元素添加 index 属性并读取

var div1 = document.querySelector('.div1'); div1.setAttribute('index', 0); // 设置自定义属性 function div1Click(tt) { var index = tt.getAttribute('index'); // 读取 index tt.classList.add('bg' + index); // 动态添加类名 }

三、DOM 样式操作:改变元素的 “外观”

修改样式有两种常用方式:

  1. style 属性:适合修改单个样式(CSS 属性名需转 “驼峰命名”,如 font-sizefontSize)。
  2. className/classList:适合批量修改样式(通过操作 CSS 类名实现)。

代码示例 1:用 style 修改单个样式

function div2Click() { div2.style.color = "red"; // 修改文字颜色 div2.style.fontSize = "25px"; // 修改字体大小(驼峰命名) div2.style.backgroundColor = "yellow"; // 修改背景色 }

代码示例 2:用className 批量添加类

div2.className += " div22"; // 给 div2 追加类名 div22(注意空格!)

代码示例 3:用classList 更灵活地操作类

function div4Click() { div3.classList.add('div33'); // 添加类 if (div3.className.includes("div333")) { div3.classList.remove('div333'); // 移除类 } else { div3.classList.add("div333"); // 切换类 } }

四、DOM 事件处理:让网页 “动起来”(含三种绑定方式)

事件是用户与网页交互的核心,本文代码展示了 三种事件绑定方式,各有特点:

1. 行内绑定:直接在 HTML 标签中写 onclick

通过 onclick="函数名(this)" 绑定,可传递 this 代表当前元素。

<div onclick="div1Click(this)">点击我</div>
function div1Click(tt) { // tt 就是点击的元素本身 var index = tt.getAttribute('index'); tt.classList.add('bg' + index); }

2. 属性绑定:通过 元素.onclick = 函数 绑定(最常用)

直接在 JS 中给元素的 onclick 属性赋值函数,代码与 HTML 分离。

var div3 = document.querySelector(".div3"); div3.onclick = function() { console.log("div3 被点击了"); // 这里的 this 指向 div3 本身 };

3. addEventListener:更灵活的事件监听

支持绑定多个事件处理函数,不会覆盖之前的绑定。

var div4 = document.querySelector('.div4'); div4.setAttribute('index', 3); div4.addEventListener('click', function() { var index = this.getAttribute('index'); // this 指向 div4 this.classList.add('bg' + index); });

五、this 关键字:谁调用就指向谁

在 DOM 操作中,this 的指向核心规律是:谁调用事件 / 函数,this 就指向谁

绑定方式

this 指向

示例

行内绑定(传 this

当前点击的元素

div1Click(this)tt 是元素

属性绑定(onclick

当前调用的元素

div3.onclick = function(){...}this 是 div3

addEventListener

当前触发事件的元素

div4.addEventListener('click', ...)this 是 div4

代码示例this 在属性绑定中的应用

var div5 = document.querySelector(".div5"); div5.setAttribute('index', 4); div5.onclick = function() { var index = this.getAttribute('index'); // this 指向 div5 this.classList.add('bg' + index); };

六、DOM 核心知识汇总表

操作类型

方法 / 属性

示例

说明

获取元素

querySelector()

document.querySelector(".div1")

获取单个元素(CSS 选择器)

getElementById()

document.getElementById("dd")

通过 id 获取元素

querySelectorAll()

document.querySelectorAll("div")

获取所有匹配元素

修改属性

元素.属性名

div1.id = "dd2"

修改标签固有属性

自定义属性

setAttribute()

div1.setAttribute('index', 0)

设置自定义属性

getAttribute()

div1.getAttribute('index')

获取属性值(支持自定义)

修改样式

style

div2.style.color = "red"

修改单个样式(驼峰命名)

className

div2.className += " div22"

批量追加类名

classList

div3.classList.add('div33')

灵活添加 / 移除类

事件绑定

行内绑定

<div onclick="div1Click(this)">

HTML 中直接绑定(传 this

属性绑定

div3.onclick = function(){...}

JS 中绑定(常用)

addEventListener

div4.addEventListener('click', ...)

可绑定多个函数

this 指向

事件绑定中

this.getAttribute('index')

指向调用事件的元素

Read more

UnityMCP+Claude+VSCode,构建最强AI游戏开发环境

UnityMCP+Claude+VSCode,构建最强AI游戏开发环境

* 前言 * 一、UnityMCP+Claude+VSCode,构建最强AI 游戏开发环境 * 1.1 介绍 * 1.2 使用说明及下载 * 二、VSCode配置 * 2.1 连接UnityMCP * 2.2 在VSCode中添加插件 * 2.3 Claude安装 * 2.4 VSCode MCP配置 * 2.5 使用Claude开发功能 * 三、相关问题 * 总结 前言 * 本篇文章来介绍使用 UnityMCP+Claude+VSCode,打造一个更智能、高效的游戏开发工作流。 * 借助MCP工具,Claude可以直接与Unity编辑器进行双向指令交互,开发者则可以直接使用自然语言进行Unity游戏开发。 * 这一组合充分利用了AI的代码生成、问题诊断与创意辅助能力,极大提升了Unity项目的开发效率与质量。 一、UnityMCP+Claude+

手把手教你免费获取豆包 AI API Key 并接入前端项目

文章目录 * 手把手教你免费获取豆包 AI API Key 并接入前端项目(超详细图文版) * 一、先说清楚:豆包 AI API 在哪里申请? * 二、准备工作(2 分钟完成) * 三、正式获取 API Key(5 分钟搞定) * 步骤 1:进入火山方舟平台 * 步骤 2:创建 API Key(最重要) * 步骤 3:开通豆包 AI 模型 * 步骤 4:创建「推理接入点」获取 Endpoint ID * 四、拿到这两个东西就成功了 * 五、前端接入代码示例(Vue3 可直接用)

多模态技术深度探索:融合视觉与语言的AI新范式

多模态技术深度探索:融合视觉与语言的AI新范式

🌟 Hello,我是蒋星熠Jaxonic! 🌈 在浩瀚无垠的技术宇宙中,我是一名执着的星际旅人,用代码绘制探索的轨迹。 🚀 每一个算法都是我点燃的推进器,每一行代码都是我航行的星图。 🔭 每一次性能优化都是我的天文望远镜,每一次架构设计都是我的引力弹弓。 🎻 在数字世界的协奏曲中,我既是作曲家也是首席乐手。让我们携手,在二进制星河中谱写属于极客的壮丽诗篇! 摘要 大家好,我是蒋星熠Jaxonic。作为一名深耕AI领域多年的技术探索者,我见证了人工智能从单一模态向多模态融合方向的跨越式发展。在这篇文章中,我想和大家分享我对多模态技术的深入理解与实践经验。随着GPT-4V、DALL-E、CLIP等模型的横空出世,多模态AI已不再是未来的概念,而是当下技术革新的核心驱动力。这种能够同时处理文本、图像、音频等多种数据类型的能力,正在重塑我们与计算机的交互方式,开创人机协作的新纪元。从理论基础到技术架构,从经典算法到前沿应用,我将带领大家全面剖析多模态技术的内在机理,探讨其面临的挑战与机遇,希望能为正在这条技术道路上探索的同行们提供一些有价值的思考与启发。 1. 多模态技术概

内存暴涨700%背后的惊天真相:AI正在吞噬一切!能源·隐私·绿色三大维度深度拆解

内存暴涨700%背后的惊天真相:AI正在吞噬一切!能源·隐私·绿色三大维度深度拆解

🔥作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生,研究方向无线联邦学习 🎬擅长领域:驱动开发,嵌入式软件开发,BSP开发 ❄️作者主页:一个平凡而乐于分享的小比特的个人主页 ✨收录专栏:未来思考,本专栏结合当前国家战略和实时政治,对未来行业发展的思考 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 🔥内存暴涨700%背后的惊天真相:AI正在吞噬一切!能源·隐私·绿色三大维度深度拆解 |前言| 最近装机的小伙伴们欲哭无泪:DDR5内存价格一路狂飙,部分DRAM现货价格在过去一年暴涨近700% 。大家习惯性吐槽“厂商放火”、“产能不足”,但很少有人看到,这场涨价风暴的真正推手,是那只名为“AI”的巨兽。 当你还在为多花几百块钱买内存心疼时,国家正在西部荒漠建起一座座数据中心,科技巨头正在为“吃电怪兽”抢购每一颗芯片。2026年,大型科技公司的AI相关投资预计将达到6500亿美元,较去年增长约80% 。 今天,我们从能源供应、隐私安全、绿色AI 三个维度,结合东数西算、算电协同、