JavaScript HTML DOM - 改变 HTML 功能 用法运用 详解

news/2025/3/12 15:19:27/文章来源:https://www.cnblogs.com/baisemoshui/p/18764778

JavaScript中的HTML DOM提供了强大的功能来改变HTML文档的内容和结构。通过JavaScript,我们可以动态地更新网页上的文本、属性、样式以及整个HTML结构。以下是对这些功能的详细解释和用法示例:

一、改变HTML内容

  1. 使用innerHTML

    • innerHTML属性用于获取或设置元素的HTML内容。这是最常用的改变HTML内容的方法。
    • 用法
      document.getElementById("myElement").innerHTML = "新的HTML内容";
      
    • 示例
      <div id="myElement">原始内容</div>
      <script>document.getElementById("myElement").innerHTML = "<strong>新的内容</strong>";
      </script>
      
  2. 使用innerText

    • innerText属性用于获取或设置元素的文本内容,不包括HTML标签。
    • 用法
      document.getElementById("myElement").innerText = "新的文本内容";
      
    • 示例
      <div id="myElement">原始文本</div>
      <script>document.getElementById("myElement").innerText = "新的文本内容";
      </script>
      
  3. 使用textContent

    • textContent属性与innerText类似,但它在处理隐藏元素和性能上有所不同。
    • 用法
      document.getElementById("myElement").textContent = "新的文本内容";
      
    • 示例
      <div id="myElement">原始文本</div>
      <script>document.getElementById("myElement").textContent = "新的文本内容";
      </script>
      

二、改变HTML属性

  1. 使用setAttribute()

    • setAttribute()方法用于设置元素的属性。
    • 用法
      document.getElementById("myElement").setAttribute("属性名", "属性值");
      
    • 示例
      <img id="myImage" src="old-image.jpg" alt="Old Image">
      <script>document.getElementById("myImage").setAttribute("src", "new-image.jpg");
      </script>
      
  2. 直接修改属性

    • 也可以直接通过JavaScript对象的方式修改元素的属性。
    • 用法
      document.getElementById("myElement").属性名 = "属性值";
      
    • 示例
      <img id="myImage" src="old-image.jpg" alt="Old Image">
      <script>document.getElementById("myImage").src = "new-image.jpg";
      </script>
      

三、改变HTML样式

  1. 使用style属性

    • style属性允许直接修改元素的内联样式。
    • 用法
      document.getElementById("myElement").style.属性名 = "属性值";
      
    • 示例
      <div id="myElement">内容</div>
      <script>document.getElementById("myElement").style.color = "blue";document.getElementById("myElement").style.backgroundColor = "yellow";
      </script>
      
  2. 添加或移除CSS类

    • 使用classList属性可以方便地添加、移除或切换CSS类。
    • 用法
      document.getElementById("myElement").classList.add("className");
      document.getElementById("myElement").classList.remove("className");
      document.getElementById("myElement").classList.toggle("className");
      
    • 示例
      <div id="myElement">内容</div>
      <style>.highlight {color: red;background-color: yellow;}
      </style>
      <script>document.getElementById("myElement").classList.add("highlight");
      </script>
      

四、改变HTML结构

  1. 创建和插入新元素

    • 使用document.createElement()创建新元素,并使用appendChild()insertBefore()等方法插入到DOM中。
    • 用法
      var newElement = document.createElement("元素名");
      document.getElementById("parentElement").appendChild(newElement);
      
    • 示例
      <div id="parentElement">父元素</div>
      <script>var newDiv = document.createElement("div");newDiv.innerHTML = "新子元素";document.getElementById("parentElement").appendChild(newDiv);
      </script>
      
  2. 删除元素

    • 使用removeChild()remove()方法删除元素。
    • 用法
      document.getElementById("parentElement").removeChild(childElement);
      childElement.remove();
      
    • 示例
      <div id="parentElement"><div id="childElement">子元素</div>
      </div>
      <script>var child = document.getElementById("childElement");document.getElementById("parentElement").removeChild(child);
      </script>
      

五、运用场景

  1. 动态内容更新:根据用户操作或外部数据更新网页内容,如新闻滚动、商品推荐等。
  2. 用户交互:响应用户事件(如点击、输入)并更新页面元素,如表单验证反馈、按钮点击效果等。
  3. 动画效果:通过改变样式和结构实现动画效果,如元素显示/隐藏、位置移动等。

六、注意事项

  1. 性能优化:频繁操作DOM会导致性能下降,尽量合并操作或使用文档片段(DocumentFragment)来减少重排和重绘。
  2. 浏览器兼容性:确保代码在不同浏览器中都能正常工作,特别是旧版本的浏览器。
  3. 安全性:避免直接插入用户输入到HTML中,以防止XSS攻击。使用textContent或转义处理用户输入。

通过JavaScript改变HTML内容、属性、样式和结构,可以创建动态、交互丰富的网页应用。掌握这些功能并合理运用,可以显著提升用户体验和网页的互动性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/897199.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20241905 2024-2025-2 《网络攻防实践》 第2次作业

1. 实验内容 本次实验为网络信息收集技术,主要有以下五个任务选择一个DNS域名进行查询获取信息 通过IP地址查询地理位置的信息 使用nmap扫描靶机环境 使用nessus扫描靶机环境 通过搜索引擎查询自己的隐私和信息泄露问题结合实验内容阅读书本,总结知识如下:网络踩点:攻击者通…

Ubuntu 20.4安装.Net 9

20.4默认包时没有.Net 9 需要用脚本形式安装wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh给执行权限chmod +x ./dotnet-install.sh可以通过 --channel 参数更改特定主要版本来指示特定版本。 以下命令安装 .NET 9.0 SDK。./dotnet-install.sh --channel 9.…

用DeepSeek+可灵AI+剪映制作哪吒2走T台秀AI视频 (保姆级教程)

内容首发周老师的付费社群,挑其中部分内容免费同步给公号读者今天给大家分享如何利用DeepSeek这类AI工具,制作哪吒2走T台秀视频,保姆级的制作方法,简单易懂,小白也能轻松上手。 关键操作,分为四步:1、用DeepSeek生成提示词 2、用AI生成图片 3、图生视频 4、视频剪辑合并…

修改Python的pip默认安装路径

修改Python的pip默认安装路径 修改site.py文件 查看pip下载位置 python -m site修改site.py文件内容 site.py文件位置在于python安装位置打开文件修改几处内容将ENABLE_USER_SITE=None改为ENABLE_USER_SITE=True修改USER_SITE和USER_BASEUSER_SITE修改的文件内容:USER_BASE修改…

Kubernetes 创建 Deployment 的完整流程解析

Kubernetes 创建 Deployment 的完整流程解析 当在 Kubernetes 中执行 kubectl apply -f deployment.yaml 时,背后发生了什么?本文将深入解析从 YAML 文件到运行 Pod 的完整流程。执行 kubectl apply -f deployment.yaml 后,涉及的组件和流程如下:apiVersion: apps/v1 kind:…

【设计模式】如何使用适配器模式让不兼容的类协同工作?

概述 如果去欧洲国家旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的…

一键部署QwQ-32B推理模型,2种方式简单、快速体验

QwQ-32B推理模型正式发布并开源,凭借其卓越的性能和广泛的应用场景,迅速在全球范围内获得了极高的关注度。基于阿里云函数计算 FC提供算力,Serverless+ AI 云原生应用开发平台 CAP现已提供模型服务、应用模板两种部署方式辅助您部署QwQ 32B系列模型。您选择一键部署应用模板…

No.53 ES6---Async函数

一、Async 函数ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async函数可以将异步操作变为同步操作。<script>function print(){//定时器是异步的setTimeout(()=>{console.log("定时器");},2000)console.log("hello")} print(); …

Redis--Lesson03--Redis基础

基础命令 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentine…

Acunetix v25.3 发布,新增功能概览

Acunetix v25.3 发布,新增功能概览Acunetix v25.3 (Linux, Windows) - Web 应用程序安全测试 Acunetix | Web Application Security Scanner 请访问原文链接:https://sysin.org/blog/acunetix/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org重要提示 Acunetix…

Linux系统离线安装Docker

某些时候需要使用Docker环境,但存在服务器无法联网或者其他情况,需要离线安装Dokcer,本次记录Oracle Linux 7环境下安装Docker: 1、下载Docker二进制文件 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 选择需要安装的版本,如下载docker-27.2.1 2、使…

Windows和mac OS共用VMware虚拟机

在Windows下使用VMware Workstation Pro创建的虚拟机,是以文件夹形式存储在硬盘中的,在mac OS中对应的虚拟机产品是VMware Fusion,那么在Windows下创建的虚拟机怎么在mac OS中使用呢?在下图中我们可以看到,Windows 10是在Windows下创建的虚拟机。 选择该目录,按下enter(…