JavaScript基础课程九、JavaScript DOM 操作(修改内容/样式/属性)

JavaScript基础课程九、JavaScript DOM 操作(修改内容/样式/属性)
本课重点学习 JavaScript DOM 核心操作,实现代码对页面的动态控制,是前端开发从逻辑走向视觉的关键课程。学习者需掌握获取元素、修改内容、修改样式、修改属性四大基础技能,并理解事件驱动交互模式。课程完美衔接第8课知识,将函数、数组、循环与 DOM 结合,实现控制台到网页页面的升级,打造可真实运行的英语单词检测交互程序。DOM 是网页交互的基础,所有动态效果、表单验证、页面渲染都依赖 DOM 实现。掌握本课内容,即可独立开发简单交互网页,为后续学习复杂框架、项目实战奠定最重要的基础。

一、课程学习目的

  1. 理解 DOM 文档对象模型的核心概念,掌握获取页面元素的常用方法。
  2. 熟练使用 JavaScript 修改页面文本内容、HTML 结构。
  3. 掌握修改元素样式(行内样式)与元素属性的标准语法。
  4. 能够结合函数、事件实现页面交互效果,完成儿童英语学习页面的动态交互。
  5. 建立 JS 操控页面的编程思维,实现数据与视图联动,为网页交互开发打下基础。

二、核心知识点讲解

1. DOM 基础概念

DOM(Document Object Model)即文档对象模型,可将 HTML 页面解析为可被 JS 操作的树状结构。

通过 DOM,JavaScript 可以读取、添加、修改、删除页面上的任意 HTML 元素。

2. 操作前提:获取页面元素

  • document.getElementById('id名'):通过 id 获取单个元素,最常用、最稳定。

3. 修改元素内容

  • innerText:修改纯文本内容,不解析标签。
  • innerHTML:修改内容,可解析 HTML 标签。

4. 修改元素样式

语法:元素.style.样式属性 = 值

  • 样式属性采用小驼峰命名backgroundColorfontSizecolordisplay

5. 修改元素属性

  • 标准属性:srchreftitledisabled
  • 语法:元素.属性名 = 新值

6. 事件驱动交互

常用点击事件:onclick,点击元素时执行函数。

三、示例程序

示例1:获取元素并修改文本内容

 // 1. 通过 id 获取页面元素 let title = document.getElementById("title"); // 2. 修改元素文本内容 title.innerText = "儿童英语单词学习小程序"; 

示例说明:本示例演示 DOM 最基础操作,先获取页面标题元素,再使用 innerText 修改显示文本。这是所有 DOM 操作的基础步骤,清晰展示“获取→修改”的固定流程,适合初学者理解 JS 如何控制页面文字。


示例2:修改元素样式: 颜色、字号、背景

 // 获取元素 let wordBox = document.getElementById("wordBox"); // 修改样式(小驼峰写法) wordBox.style.color = "white"; wordBox.style.backgroundColor = "blue"; wordBox.style.fontSize = "24px"; wordBox.style.padding = "10px"; 

示例说明:本示例展示如何通过 JS 动态修改元素样式,所有 CSS 带横线属性转为小驼峰形式。通过代码可实时改变页面视觉效果,实现动态主题、提示高亮等功能,是网页交互必备技能。


示例3:修改元素属性: 图片、链接

 // 获取图片元素 let wordImg = document.getElementById("wordImg"); // 修改 src 属性(切换图片) wordImg.src = "apple.jpg"; // 修改 alt 属性 wordImg.alt = "苹果单词图片"; 

示例说明:本示例用于修改元素自带属性,如图片路径、链接地址。在英语学习场景中可根据单词切换对应图片,让学习更直观,体现 JS 控制页面资源的能力。


示例4:点击事件 + 内容样式综合操作(英语单词交互)

 // 获取元素 let showBtn = document.getElementById("showBtn"); let wordResult = document.getElementById("wordResult"); // 绑定点击事件 showBtn.onclick = function () { // 点击后修改内容 wordResult.innerText = "当前学习单词:apple —— 苹果"; // 修改样式 wordResult.style.color = "green"; wordResult.style.fontWeight = "bold"; }; 

示例说明:本示例是 DOM 综合实战,结合点击事件实现交互。用户点击按钮后,页面显示单词并修改样式,完全贴合儿童英语学习场景。涵盖获取元素、事件绑定、内容修改、样式修改,是本课最核心的综合案例。


示例5:整合上一课单词判断 + DOM 页面输出

 // ========== 第8课 单词数组 ========== let correctWordArray = ["apple", "banana", "dog", "cat", "orange"]; let userAnswerArray = ["apple", "banana", "dog", "cat", "orange"]; // ========== 第9课 DOM 输出结果 ========== let resultBox = document.getElementById("resultBox"); // 判分函数 function checkEnglishWords(words, answers) { let correctCount = 0; let; for (let i = 0; i < words.length; i++) { if (answers[i] === words[i]) { msg += `第 ${i+1} 题:答对 ✅<br>`; correctCount++; } else { msg += `第 ${i+1} 题:答错 ❌<br>`; } } msg += `总题数:${words.length}<br>`; msg += `答对:${correctCount} 题`; // DOM 把结果渲染到页面 resultBox.innerHTML = msg; resultBox.style.color = "#333"; resultBox.style.fontSize = "18px"; } // 执行判断并展示到页面 checkEnglishWords(correctWordArray, userAnswerArray); 

示例说明:本示例完美衔接上一课数组与函数知识,将控制台输出升级为页面真实展示。通过 innerHTML 把判题结果渲染到页面,同时修改样式,实现真正的网页版英语单词检测小程序,是前后两课知识的综合融合。

四、掌握技巧与方法

  1. 操作 DOM 必须先获取元素,再修改内容/样式/属性
  2. 获取元素优先使用 getElementById,简单稳定。
  3. 修改样式使用小驼峰命名法,如 backgroundColorfontSize
  4. 展示文本用 innerText,展示带标签 HTML 用 innerHTML
  5. 交互功能依靠事件驱动(如 onclick)实现。
  6. 可将第8课数组、函数数据通过 DOM 渲染到页面,完成实战项目。

五、课后作业

基础作业

  1. 获取页面 id 为 title 的元素,修改文字为“儿童英语学习园地”。
  2. 修改元素文字颜色为红色、字号 20px、加粗。

进阶作业

  1. 制作一个点击按钮,点击后切换图片显示不同单词图片。
  2. 编写函数,修改盒子背景色为黄色,文字居中显示。

实战作业

  1. 网页版儿童英语单词判断小程序
    • 使用第8课单词数组与判分函数。
    • 通过 DOM 将结果显示在页面中。
    • 答对显示绿色,答错显示红色。
    • 点击按钮开始判题并展示结果。

Read more

GitHub Copilot 三种模式详解:Ask、Agent、Edit

🌟 前言 GitHub Copilot作为AI编程助手的先驱,为开发者提供了三种不同的交互模式,每种模式都有其独特的优势和适用场景。本文将深入解析这三种模式的特点、使用场景以及如何选择合适的模式来提升开发效率。 📋 目录 * Ask模式:智能问答助手 * Agent模式:自主执行代理 * Edit模式:精准代码编辑 * 三种模式对比分析 * 实际应用场景 * 选择建议 * 总结 🤖 Ask模式:智能问答助手 核心特点 Ask模式是最基础的交互方式,它将GitHub Copilot变成了一个专业的编程顾问。这种模式专注于知识传递和问题解答。 * 🎯 主要功能: * 回答编程概念和技术问题 * 提供代码示例和最佳实践 * 解释复杂的技术概念 * 调试建议和错误分析 * 💡 交互特点: * 对话式交互界面 * 即时问答反馈 * 支持连续深入提问 * 不直接修改项目文件 典型使用场景 👨‍💻 开发者:什么是React的useEffect钩子? 🤖 Copilot:useEffect是Reac

By Ne0inhk
大模型+智能家居解决方案--小米MiLoco部署

大模型+智能家居解决方案--小米MiLoco部署

一、Miloco简介 小米推出了首个“大模型+智能家居”解决方案Xiaomi Miloco,全称为 Xiaomi Local Copilot(小米本地协同智能助手)。 https://gitee.com/xiaomi-miloco/xiaomi-miloco 1、GitHub地址 https://github.com/XiaoMi/xiaomi-miloco Miloco以米家摄像头为视觉信息源,以自研大语言模型MiMo-VL-Miloco-7B为核心,连接家中所有物联网(IoT)设备,框架面向所有人开源。MiMo-VL-Miloco-7B模型基于小米4月发布的MiMo模型调优而来,“天才少女”罗福莉最近加入的正是MiMo模型团队。 这很可能是智能家居的“ChatGPT时刻”,小米AIoT平台截至今年6月已连接的IoT设备数(不含智能手机、平板及笔记本计算机)达9.89亿台,数以亿计的米家摄像头、小爱音箱、台灯等设备都有望用上大模型。 从小米公布的Miloco页面来看,页面主视觉是一个类似于ChatGPT的聊天框,聊天框的左侧具有智能家居设备的导航栏,包括AI中心、模型管

By Ne0inhk
椭偏仪在AR光学薄膜制备中的应用:高折射率与膜厚测量

椭偏仪在AR光学薄膜制备中的应用:高折射率与膜厚测量

随着增强现实(AR)技术在消费电子、医疗及工业等领域的快速发展,市场对高性能光学元件的需求日益迫切。高折射率光学组件是实现设备轻薄化、扩大视场、提升沉浸感的关键。金属氧化物虽具有高折射率、高透过率和良好的稳定性,是理想材料,但其传统制造方法——如气相沉积工艺复杂、成本高昂,溶胶-凝胶法则需高温处理,易导致基板不匹配、表面缺陷等问题,严重制约了AR光学元件的规模化与低成本制造。Flexfilm全光谱椭偏仪可以非接触对薄膜的厚度与折射率的高精度表征,广泛应用于薄膜材料、半导体和表面科学等领域。 为突破这一瓶颈,研究团队研发了基于UV固化的金属氧化物前驱体技术。该技术通过精心设计的配方,可在低温(低至100°C)下形成无机涂层,其折射率可在1.30至2.35范围内精确调控。所得涂层具备原子级光滑表面、低光学损耗及优异的环境稳定性,不仅兼容多种基材与集成工艺,更为实现AR光学元件的高性能、低成本与规模化生产提供了切实可行的创新解决方案。 实验方法 通过系统调节前驱体组成、浓度、溶剂及反应条件,实现对薄膜折射率的精确控制。采用实验设计方法优化配方,确保薄膜高透明、低雾度。材料为无纳米颗粒体

By Ne0inhk

机器人、机械臂能听话,全靠这门被低估的神技:逆动力学

🧱 逆动力学核心概念与本质 逆动力学是已知机器人末端执行器的运动轨迹,求解各关节所需驱动力矩的过程,是机器人运动控制的关键技术之一。其技术本质是在复杂多体系统中解决"运动输入-动力学建模-力矩输出"的映射问题,为机器人的精准运动控制提供理论基础。 🔍 逆动力学核心算法原理 🔹 牛顿-欧拉法(Newton-Euler) * 核心思想:递归计算每个连杆的动力学信息,从末端执行器回溯到基座(正递归),再从基座计算到末端执行器(逆递归) * 优势:计算效率高,适合实时控制场景 * 适用场景:工业机器人、机械臂等多自由度运动系统 * 关键公式: * 正递归:计算各连杆的速度、加速度和惯性力 * 逆递归:计算各关节的驱动力矩 🔹 拉格朗日法(Lagrange) * 核心思想:基于能量守恒原理,建立系统的拉格朗日函数,通过对时间求导得到运动方程 * 优势:物理意义清晰,便于分析系统特性 * 适用场景:机器人动力学建模、轨迹规划等离线计算场景 * 关键公式:τ=M(q)q¨+C(q,

By Ne0inhk