JS节点操作练习题

1、创建添加节点

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>01.创建添加节点</title></head><body><!-- 需求1:在段落p的后面添加一个span标签,添加span的文本内容‘我是一个span’父节点.appendChild(添加的标签);需求2:在段落p的前面添加一个h1标签,添加h1的文本内容,‘我是一个h1’父节点.insertBefore(添加的标签, 哪个标签前面)--><div id="box"><!-- <h1>我是一个h1标签</h1> --><p>段落</p><!-- <span>我是一个span标签</span> --></div><button>添加span</button><button>添加h1</button><script>var btns = document.querySelectorAll("button");var p = document.querySelector("p");var box = document.getElementById("box");//需求1btns[0].onclick = function () {// 1.1 创建节点let spanElement = document.createElement("span");// console.log(spanElement);// 1.2 创建文本内容let spanText = document.createTextNode("我是一个span标签");// console.log(spanText);// 1.3将文本内容放入到span节点里spanElement.appendChild(spanText);// console.log(spanElement);// 1.4追加节点box.appendChild(spanElement);};//需求2btns[1].onclick = function () {//2.1 创建节点let h1Element=document.createElement('h1')//2.2 创建h1文本内容let h1Text=document.createTextNode('我是一个h1标签')//2.3 将h1Test放入到节点内h1Element.appendChild(h1Text)//2.4 添加节点box.insertBefore(h1Element,p)};</script></body>
</html>

2、替换删除节点

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>02.替换删除节点</title></head><body><!-- 需求一:点击按钮1,将《金瓶梅》替换为《水浒传》需求二:点击按钮2,删除《金瓶梅》--><button>按钮1</button><button>按钮2</button><ul><li>《红楼梦》</li><li>《三国演义》</li><li>《西游记》</li><li>《金瓶梅》</li></ul><script>var btns = document.querySelectorAll("button");var ul = document.querySelector("ul");var jpm = ul.children[3];// 父节点.replaceChild(新节点,旧节点)btns[0].onclick = function () {// 创建《水浒传》节点let liElement = document.createElement("li");let liText = document.createTextNode("《水浒传》");liElement.appendChild(liText);// 替换节点ul.replaceChild(liElement, jpm);};btns[1].onclick = function () {// 删除节点写法一// ul.removeChild(jpm)// 删除节点写法二jpm.parentNode.removeChild(jpm);};</script></body>
</html>

3、克隆节点

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>03.克隆节点</title><style>#box {width: 100px;height: 100px;background-color: red;}</style></head><body><!-- 需求:点击按钮克隆div元素--><!-- node.cloneNode() --><div id="box"><span>box盒子</span></div><button>克隆</button><script>var box = document.getElementById("box");document.querySelector("button").onclick = function () {// 克隆节点  //false  只克隆节点  true  克隆节点,克隆内容let box2= box.cloneNode(true)//  console.log(box2);//添加克隆节点document.body.appendChild(box2)};</script></body>
</html>

4、创建节点补充方式 

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>04.创建节点的另外两种方式</title></head><body><!-- 需求1:获取ul里面的li内容需求2:在ul里添加《水浒传》到页面中innerHTML、document.write()      --><button>获取</button><button>添加</button><ul><li>红楼梦》</li></ul><script>var btns = document.querySelectorAll("button");var ul = document.querySelector("ul");// 需求1btns[0].onclick = function () {let li = ul.children[0];// console.log(li.innerHTML);// console.log(li.innerText);};//需求2btns[1].onclick = function () {//   第一种写法// let liElement = document.createElement("li");// let liText = document.createTextNode("《水浒传》");// liElement.appendChild(liText);// ul.appendChild(liElement);// 第二种写法  innerHTML// let liElement = document.createElement("li");// liElement.innerHTML = "《水浒传》";// liElement.innerText = "《水浒传》";// ul.appendChild(liElement);// 第三种写法 *****// let liElement = `<li>《水浒传》</li>`;// ul.innerHTML = ul.innerHTML + liElement;// 第四种写法  document.write()  // let liElement = `<li>《水浒传》</li>`;// let bodyElement = document.body.innerHTML + liElement;// console.log(bodyElement);// document.write(bodyElement);// 第五种写法   *****let liElement=`<li>《水浒传》</li>`ul.insertAdjacentHTML('beforeend',liElement)};</script></body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【金融风控】特征评估与筛选详解

内容介绍 掌握单特征分析的衡量指标 知道 IV&#xff0c;PSI等指标含义 知道多特征筛选的常用方法 掌握Boruta,VIF,RFE,L1等特征筛选的使用方法 【理解】单特征分析 什么是好特征 从几个角度衡量&#xff1a;覆盖度&#xff0c;区分度&#xff0c;相关性&#xff0c;稳定…

LeetCode面试经典150题|228.汇总区间

给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖&#xff0c;并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按…

new Object到底占用多少内存?

前言 通过 JOL 工具&#xff0c;深入剖析对象头、实例数据以及内存对齐的具体细节&#xff0c;了解 JVM 是如何管理和优化内存的。使用 JOL&#xff0c;验证内存结构&#xff0c;直观地观察 JVM 参数&#xff08;如对象指针压缩、类指针压缩等&#xff09;对对象布局的影响。 …

深入理解接口测试:实用指南与最佳实践5.0(二)

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

基于Java+SpringBoot宠物管理系统

一、作品包含 源码数据库设计文档全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据库&…

PYNQ 框架 - 中断(INTR)驱动

目录 1. 简介 2. 分析 2.1 Block Design 2.2 AXI Timer 2.2.1 IP 基本信息 2.2.2 IP 地址空间 2.2.3 级联模式 2.2.4 生成/捕获模式 2.3 AXI Interrupt 2.3.1 IP 基本信息 2.3.2 IP 地址空间 2.3.3 相关概念 2.3.4 参数配置 2.3.5 中断确认寄存器 3. PYNQ 代码 …

使用runtime/pprof包进行Go程序性能调优的实战教程

使用runtime/pprof包进行Go程序性能调优的实战教程 引言基本概念什么是runtime/pprof使用场景 安装和设置环境要求导入runtime/pprof包 基本用法创建和启动一个新的profile停止和销毁一个profile CPU Profiling启动CPU profiling停止CPU profiling分析CPU profiling数据 内存Pr…

深度探秘 VGG 网络:从原理到应用的视觉传奇

VGG 网络的原理 一、整体架构 VGG&#xff08;Visual Geometry Group&#xff09;网络是一种深度卷积神经网络&#xff0c;其显著特点是简洁而高效的架构设计。VGG 网络主要由卷积层、池化层和全连接层组成。 卷积层&#xff1a; 如前所述&#xff0c;VGG 大量使用 的小卷积…

为什么我搞量化分析要特别关注行业产业链

因为看了这本书理论书。我都是用现成的理论来传串起来的。每一步都是背后都有现成的理论支持支撑。虽然看着简单&#xff0c;我这个工具策略参考了投资行为心理学。主要是为了我量身定做的。我也是刚刚研究的新手&#xff0c;碰到的很多问题很多人应该也碰到&#xff0c;就把这…

电商数据接口||淘宝|京东商品详情参数对比

淘宝/天猫获得淘宝商品详情 API 返回值说明 item_get-获得淘宝商品详情 taobao.item_get 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中…

Spring Security 认证流程,长话简说

一、代码先行 1、设计模式 SpringSecurity 采用的是 责任链 的设计模式&#xff0c;是一堆过滤器链的组合&#xff0c;它有一条很长的过滤器链。 不过我们不需要去仔细了解每一个过滤器的含义和用法,只需要搞定以下几个问题即可&#xff1a;怎么登录、怎么校验账户、认证失败…

HTMLCSS 打造的酷炫菜单选项卡

效果演示 具有视觉吸引力的菜单选项 HTML <div class"card"><ul><li class"iso-pro"><span></span><span></span><span></span><a href""><svgviewBox"0 0 320 512&quo…

【linux】网络基础 ---- 传输层

1. UDP协议 &#xff08;一&#xff09;UDP协议端格式 注意&#xff1a; 16位UDP长度, 表示整个数据报(UDP首部UDP数据)的最大长度16位UDP检验和&#xff0c;能判断是否出现数据丢失等问题如果校验和出错, 就会直接丢弃 UDP报头本质上也是一个结构体&#xff1a; 操作系统内有…

软件包管理

软件安装 软件包管理器 APT&#xff08;Advanced Package Tool&#xff09;&#xff1a; 发行版&#xff1a;主要用于 Debian 及其衍生版&#xff08;如 Ubuntu&#xff09;。 常用命令&#xff1a; apt-get install &#xff1a;安装软件包。 apt-get update&#xff1a;更新…

[项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]

YOLOv5是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv5具有更高的…

Linux逻辑卷

文章目录 逻辑卷 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Linux专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年11月12日11点09分 逻辑卷 LVM逻辑卷管理是Linux环境中对磁盘分区进行管理的一种机制&#xff0c;建立在硬盘和分区之…

【设计模式】创建型设计模式-工厂模式的实现

工厂模式实现 定义例子UML类图理解Java代码实现总结 定义 工厂方法模式定义了一个接口用于创建对象&#xff0c;该模式由子类决定实例化哪个工厂类。该模式把类的实例化推迟到了子类。 例子 通过一个公共的类方法来管理画图对象的创建。 UML类图理解 Java代码实现 定义接口…

Spring Boot实战:编程训练系统开发手册

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理编程训练系统的相关信息成为必然。开发合适…

方案丨车险保单OCR:3秒钟完成保单审核

在涉及车辆交易的各种情况下&#xff0c;记录和管理车险保单信息是一项必不可少的任务。然而&#xff0c;面对数量庞大的电子保单&#xff0c;传统的手工录入方式显得尤为低效——它不仅消耗大量时间&#xff0c;而且容易出现错误&#xff0c;这不仅影响了用户的满意度&#xf…

性能测试|JMeter接口与性能测试项目

前言 在软件开发和运维过程中&#xff0c;接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用&#xff0c;被广泛用于进行各种性能测试&#xff0c;包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…