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

VS Code 中的 Python 代码格式化插件

在 VS Code 中,有几款非常出色的 Python 代码格式化插件可以帮助你保持代码的整洁与规范。下面这个表格整理了目前主流的几款工具,你可以根据它们的特点进行选择。 工具名称核心特点风格理念推荐适用场景Black开箱即用,几乎无需配置;强制统一的代码风格,可预测性强。“无妥协”的格式化器。它决定格式,讨论空间小,保证所有代码风格一致。团队协作项目;希望零配置快速上手的开发者;追求极简和一致性。autopep8基于 PEP 8 规范,主要修复代码风格问题(如缩进、空格)。相对保守,专注于修复而非重新排版。希望代码严格遵循 PEP 8;对现有代码进行温和的格式化修复。yapf高度可定制,可以模仿多种代码风格;格式化策略更“激进”,会重新排版代码。“自成风格”。目标是通过调整代码来达到最佳可读性,而非严格遵循某一规范。需要高度自定义格式化规则;项目有特殊的代码风格要求。 🔧 如何安装与配置 选好工具后,只需简单几步就能在 VS Code 中启用它们。

By Ne0inhk
Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言

Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言

文章目录 * 从性能到生态,全面解读五大主流编程语言 * 一、语言定位与设计哲学:为何而生? * 二、性能对比:谁更快?谁更省资源? * 性能维度拆解 * 性能对比表(基于典型 Web API 场景) * 性能实测案例(斐波那契数列第45项) * 三、并发模型:谁更适合高并发? * 并发模型对比 * 四、错误处理机制:如何应对失败? * 示例:读取文件内容 * 五、类型系统:静态 vs 动态,强类型 vs 弱类型 * 空安全对比(防 NPE) * 六、内存管理:GC vs 所有权 * Rust 的“所有权”机制详解 * 七、生态系统与社区活跃度 * 典型生态代表

By Ne0inhk

08 Python 数据分析:学生画像匹配与相似度计算

Python 数据分析:学生画像匹配与相似度计算 适合人群:Python 初学者 / 数据分析入门 / 推荐系统基础学习者 / 教学案例分享 在数据分析和机器学习中,我们经常会遇到这样的问题: * 如何判断两个学生的学习习惯是否相似? * 如何衡量两个商品是不是“同类竞品”? * 为什么推荐系统能给你推送“你可能喜欢”的内容? * 两段文本内容相似,应该怎么用数据来表示? 这些问题,归根到底,都指向一个核心概念: 相似性度量 本文将通过“学生画像匹配”和“课程评价文本分析”两个小案例,带你理解下面几个非常常用的概念: * 欧氏距离(Euclidean Distance) * 曼哈顿距离(Manhattan Distance) * 余弦相似度(Cosine Similarity) 并结合 Python 完成简单实战。 一、案例引入:谁和你最像? 假设我们想根据学生的学习数据,寻找“和你最相似的同学”。 比如现在有三位学生的成绩数据: 学生数学英语A8085B8288C6070 问题来了:

By Ne0inhk

python,numpy,pandas和matplotlib版本对应关系

下面是Python、NumPy、Pandas、Matplotlib的版本对应关系表(基于官方兼容性文档和实践验证,包含常用Python版本),同时补充了推荐的稳定组合: 常用Python版本对应的库兼容版本 Python版本NumPy兼容版本Pandas兼容版本Matplotlib兼容版本推荐稳定组合示例3.8.x1.19.x ~ 1.21.x1.1.x ~ 1.3.x3.3.x ~ 3.5.xPython3.8 + NumPy1.21.6 + Pandas1.3.5 + Matplotlib3.5.33.9.x1.19.x ~ 1.24.x1.1.x ~ 1.5.x3.3.x

By Ne0inhk