HTML之JavaScript DOM操作元素(2)

HTML之JavaScript DOM操作元素(2)

   4.增删元素var element = document.createElement("元素名") 创建新元素父元素.appendChild(子元素)             	  	 在父元素中追加子元素父元素.insertBefore(新元素,参照元素)    		 在特定元素之前新增元素父元素.replaceChild(新元素,被替换元素)          替换特定元素元素.remove()                                  删除当前元素
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>小标题</title><script>/*步骤:1.获得document DOM树window.document(是window的属性)2.从document中获取要操作的元素1.直接获取var aaa = document.getElementById("username") // 根据元素的id值获取页面上的唯一一个元素,有同名的则返回找到的第一个var bbb = document.getElementsByTagName("input")var ccc = document.getElementsByName("aaa")var ddd = document.getElementsByClassName("a") 2.间接获取var cs = div01.children // 获取全部子元素var firstc = div01.firstElementChild// 通过父元素获取第一个子元素var lastc = div01.lastElementChild // 通过父元素获取最后一个子元素var parentE = mmm.parentElement // 通过子元素获取父元素var brotherPe = nnn.previousElementSibling // 获取前面的第一个元素var brotherNe = nnn.nextElementSibling // 获取后面的第一个元素3.对元素进行操作1.操作元素的属性   元素名.属性名 = ""2.操作元素的样式   元素.style.样式名 = ""  样式名 "-" 要进行驼峰转换3.操作元素的文本   元素名.innerText   只识别文本元素名.innerHTML   识别文本的同时可以识别HTML代码4.增删元素var element = document.createElement("元素名")// <li></li>父元素.appendChild(子元素)             在父元素中追加子元素父元素.insertBefore(新元素,参照元素)    在特定元素之前新增元素父元素.replaceChild(新元素,被替换元素)  替换特定元素元素.remove()                          删除当前元素*/// 目标1 追加元素function addCs() {// 1.创建元素var newli = document.createElement("li")// <li></li>// 2.设置元素的属性和文本newli.id = "cs" //<li id = "cs"></li>newli.innerText = "长沙"//<li id = "cs">长沙</li>// 3.将元素作为子元素放入父元素中var parentE = document.getElementById("ul01")parentE.appendChild(newli)// 在父元素中追加子元素}// 目标2 特定位置追加元素function addBefore() {// 1.创建元素var newli = document.createElement("li")// <li></li>// 2.设置元素的属性和文本newli.id = "cs" //<li id = "cs"></li>newli.innerText = "长沙"//<li id = "cs">长沙</li>// 3.将元素作为子元素放入父元素中var parentE = document.getElementById("ul01")var brotherNe = document.getElementById("sz")//parentE.insertBefore(新元素,参照元素) 在特定元素之前新增元素parentE.insertBefore(newli, brotherNe)}// 目标3 替换元素function replaceSz() {// 1.创建元素var newli = document.createElement("li")// <li></li>// 2.设置元素的属性和文本newli.id = "cs" //<li id = "cs"></li>newli.innerText = "长沙"//<li id = "cs">长沙</li>// 3.元素替换var parentE = document.getElementById("ul01")var brotherNe = document.getElementById("sz")//parentE.replaceChild(新元素,被替换元素) 替换特定元素parentE.replaceChild(newli, brotherNe)}// 目标4 移除特定元素function removeSz() {// 哪个元素调用remove 就会执行删除哪个元素var brotherNe = document.getElementById("sz")brotherNe.remove(brotherNe)}// 目标5 清空列表元素function removeAll(){// 思路1 获取父元素,然后根据父元素获取父元素的第一个子元素,循环删除父元素的第一个子元素,直到为null,就相当于链表删除var dom1 = document.getElementById("ul01")var node = dom1.firstChildwhile(node!=null){node.remove()node = dom1.firstChild}// 思路2 要清空列表,就是要清空ul里面的东西,可以用标签中间夹文本的思路,直接清空ul标签中间的东西var dom2 = document.getElementById("ul01")dom2.innerHTML = ""   // innerHTML 与 innerText均可}</script>
</head><body><ul id="ul01"><li id="bj">北京</li><li id="sh">上海</li><li id="sz">深圳</li><li id="gz">广州</li></ul><!-- 目标1 在城市列表的最后添加子标签 长沙 --><button id="btn01" onclick="addCs()"> 增加长沙</button><!-- 目标2 在城市列表深圳前增加子标签 长沙 --><button id="btn02" onclick="addBefore()"> 在深圳前增加长沙</button><!-- 目标3 替换目标元素 替换深圳为长沙 --><button id="btn03" onclick="replaceSz()"> 替换深圳为长沙</button><!-- 目标4 删除,删除深圳 --><button id="btn04" onclick="removeSz()"> 移除深圳</button><!-- 目标5 清空列表 --><button id="btn05" onclick="removeAll()"> 清空列表</button>
</body></html>

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

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

相关文章

解决华硕主板的Boot界面无法设置M.2的系统启动盘问题

一、问题描述 当我们的华硕主板电脑开机后&#xff0c;发现电脑无法正常进入Windows系统界面&#xff0c;直接显示PXE网络网络信息&#xff1b;且知道我们进入到BIOS界面也无法找到选择系统盘&#xff0c;界面只显示【UEFI:PXE IP4 Intel(R) Ethernet】、【UEFI:PXE IP6 Intel(…

音视频封装格式:多媒体世界的“容器”与“桥梁”

一、音视频封装格式的核心概念 音视频封装格式(容器)是一种将编码后的视频、音频、字幕等数据按规则整合的文件格式,其本质是多媒体数据容器,核心作用包含: 同步多轨道数据:通过时间戳(PTS/DTS)实现音画同步。组织数据流:统一管理视频流、音频流、字幕流等,并存储元…

Jenkins 配置 Credentials 凭证

Jenkins 配置 Credentials 凭证 一、创建凭证 Dashboard -> Manage Jenkins -> Manage Credentials 在 Domain 列随便点击一个 (global) 二、添加 凭证 点击左侧 Add Credentials 四、填写凭证 Kind&#xff1a;凭证类型 Username with password&#xff1a; 配置 用…

Unity 3D模型边缘锯齿严重

Unity开发3D游戏时候,模型边缘会显示严重锯齿,这需要设置抗锯齿,同时也会增加显卡负担,是适配不同硬件的自定义配置选项 摄像机对象检查器中找到[渲染]设置"抗锯齿"为FXAA或者SMAA项目设置->图形->点选正在使用的渲染管线->定位到管线文件后,查看管线的检查…

Docker:Docker从入门到精通(一)- Docker简介

一、前言 通过本专栏的学习&#xff0c;我们将了解   1. 掌握Docker基础知识&#xff0c;能够理解Docker镜像与容器的概念   2. 完成Docker安装与启动   3. 掌握Docker镜像与容器相关命令   4. 掌握Tomcat Nginx 等软件的常用应用的安装   5. 掌握docker迁移与备份相…

【面试系列】Java开发--AI常见面试题

文章目录 1、实际工作或学习中用过哪些Ai工具1.1、AI编程1.2、AI对话聊天1.3、AI图像工具1.4、AI办公工具 2、谈谈你知道的AI领域的一些常见词汇及其含义的理解&#xff1f; 例如AIGC、LLM、DeepLearning分别是什么意思&#xff1f;2.1、AIGC&#xff08;Artificial Intelligen…

在VSCode中接入deepseek

注册就送14元2000万tokens。 https://cloud.siliconflow.cn/i/rnbA6i6U各种大模型 下面介绍我是如如接入vscode的 左边生成一个key&#xff0c;呆会vscode要用&#xff0c;不然401. 打开vscod&#xff0c;电脑能上网。下插件。 下好要配置 点它一下。 要配置&#xff0c;全…

【Ubuntu】GPU显存被占用,但显示没有使用GPU的进程

文章目录 一、问题描述二、解决方案2.1 寻找问题进程2.2 尝试杀死相关进程2.3 投放核弹&#xff0c;一键全杀2.4 再次查看GPU使用情况 参考资料 一、问题描述 今天使用服务器的时候发现gpu被占了很多内存&#xff0c;但是使用 nvidia-smi 命令并没有发现占这么多显存的进程&am…

基于Python+django+mysql旅游数据爬虫采集可视化分析推荐系统

2024旅游推荐系统爬虫可视化&#xff08;协同过滤算法&#xff09; 基于Pythondjangomysql旅游数据爬虫采集可视化分析推荐系统 有文档说明 部署文档 视频讲解 ✅️基于用户的协同过滤推荐算法 卖价就是标价~ 项目技术栈 Python语言、Django框架、MySQL数据库、requests网络爬虫…

Redis 如何实现消息队列?

在当今的分布式系统架构中&#xff0c;消息队列起着至关重要的作用&#xff0c;它能够帮助系统实现异步通信、解耦组件以及缓冲流量等功能。Redis&#xff0c;作为一款高性能的键值对存储数据库&#xff0c;也为我们提供了便捷的方式来构建消息队列。今天&#xff0c;咱们就深入…

【多线程-第三天-NSOperation的练习-tableView异步下载网络图片-下载操作缓存池 Objective-C语言】

一、下载操作缓存池 1.下面我们来看操作缓存池,我们先演示一下问题,看看为什么要加这么一个操作缓存池,什么是操作缓存池,不用管呢,我们先来看啊,首先有什么问题, 看这个问题之前,我这儿写一个touch,点击屏幕的时候调用, 额,不能点击屏幕啊,因为现在屏幕点不着,我…

【2025深度学习环境搭建-1】在Win11上用WSL2和Docker解锁GPU加速

建议有&#xff1a; 较新的win11电脑&#xff0c;GPU是nvidia一点点Linux基础一点点Docker基础 一、安装WSL2 【控制面板】》【程序】》【启用或关闭Windows功能】 打开三个功能&#xff1a;【Hyper-V】【Virtual Machine Platform】【适用于Linux的Windows子系统】 可能看…

深入探索 DeepSeek 在数据分析与可视化中的应用

在数据驱动的时代&#xff0c;快速且准确地分析和呈现数据对于企业和个人都至关重要。DeepSeek 作为一款先进的人工智能工具&#xff0c;凭借其强大的数据处理和可视化能力&#xff0c;正在革新数据分析的方式。 1. 数据预处理与清洗 在进行数据分析前&#xff0c;数据预处理…

C#基础:类的三大特性 之 封装

一、封装、继承、多态关系说明 封装、继承、多态这三大特性是相互关联的&#xff0c;封装和继承几乎都是为多态而准备的。 封装是基础&#xff0c;继承是关键&#xff0c;多态性是补充。 多态性存在于继承性之中&#xff0c;它是继承性的进一步扩展&#xff0c;没有继承就没…

vscode无法预览Markdown在线图片链接

问题&#xff1a;在VSCode中&#xff0c;打开MarkDown文件&#xff0c;存在在线图片链接&#xff0c; 但是在预览时却无法显示。 原因&#xff1a;因为Visual Studio Code中的MarkDown默认配置中只允许载入安全内容 解决方法&#xff1a; 1、输入快捷键 Ctrl Shift P 打开…

mongodb的并发优化

MongoDB的锁模式 MongoDB的锁设计 MongoDB的高性能表现离不开它的多粒度锁机制。多粒度主要可以针对不同层级的数据库对象进行枷锁&#xff0c;通过避免全局性的互斥来提升并发能力。从整个数据库层面看&#xff0c;MongoDB的并发锁的分层如下图所示&#xff1a; 从上往下是一…

Python 环境管理介绍

pip pip 是 Python 的标准包管理工具&#xff0c;用于安装和管理 Python 软件包。它允许你从 Python 包索引&#xff08;PyPI&#xff09;下载并安装第三方库&#xff0c;并能自动解决依赖问题。 第三方库的安装与卸载 pip install <package>pip uninstall <packag…

oracle apex post接口

日常记录 使用到了apex_json方式接收 、、、1 首先&#xff0c;接口通过body传递过来&#xff0c;成功接收到&#xff0c; 数据格式为 JSON_OBJECT_T l_json : JSON_OBJECT_T.parse(:body); 这里我用参数接收到 然后 里面是包含了 "data" 我用 继续接收到这个 l…

PLC通讯

PPI通讯 是西门子公司专为s7-200系列plc开发的通讯协议。内置于s7-200 CPU中。PPI协议物理上基于RS-485口&#xff0c;通过屏蔽双绞线就可以实现PPI通讯。PPI协议是一种主-从协议。主站设备发送要求到从站设备&#xff0c;从站设备响应&#xff0c;从站不能主动发出信息。主站…

易飞报错:输入的库位并不存在,请重新输入

首先&#xff0c;判断使用的账套是否启用了库位管理&#xff0c;若启用&#xff0c;检查库位信息是否正确&#xff0c; 若没启用&#xff0c;可以进行一下操作处理&#xff1a; 首先在公用参数中启用库位管理&#xff0c; 然后使用取消库位管理进行取消操作。 以上方法基本可以…