JavaScript(Web APIs 作用和分类,DOM数是什么,document是什么,根据css选择器来获取DOM元素,修改DOM元素的方式,边量声明)

变量声明

  • 变量声明有三个 var let 和 const
  • 建议: const 优先,尽量使用const,原因是:
  1. Ø const 语义化更好
  2. Ø 很多变量我们声明的时候就知道他不会被更改了,那为什么不用 const呢?
  3. Ø 实际开发中也是,比如react框架,基本const

什么时候使用let声明变量?

Ø 如果基本数据类型的值或者引用类型的地址发生变化的时候,需要用let Ø 比如 一个变量进行加减运算,比如 for循环中的 i++

1. Web API作用和分类
  • l. 作用: 就是使用 JS 去操作 html 和浏览器
  • 2.分类:DOM (文档对象模型)、BOM(浏览器对象模型)
2. 什么是DOM
  • DOM(Document Object Model——文档对象模型)是用来呈现以及与任HTML 或 XML文档交互的API
  • 白话文:DOM是浏览器提供的一套专门用来 操作网页内容 的功能
  • DOM作用:开发网页内容特效和实现用户交互
2.1获取DOM元素练习
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box{width: 200px;height: 200px;}</style>
</head>
<body><!-- html标签 盒子 --><div class="box">666</div><div class="top"><ul><li>123</li><li>456</li><li>789</li><li>173</li><li>643</li></ul></div><script>
// querySelector 查询选择器// 获取DOM元素   //选择匹配第一个元素: document.querySelectoconst box1 = document.querySelector('.box')//   参数:包含一个或多个有效的css选择器字符串// 返回值:css选择器匹配的第一个元素,一个对象console.log(box1);//   选择匹配多个元素  document.querySelectorAllconst top1 = document.querySelectorAll('.top ul li')// 一定记得打印 打印出数组 对象集合console.log(top1);</script>
</body>
</html>
3.DOM树是什么
  • Ø 将 HTML 文档以树状结构直观的表现出来,我们称之为文档树或 DOM 树
  • Ø 描述网页内容关系的名词
  • Ø 作用:文档树直观的体现了标签与标签之间的关系

3.1 依次获取DOM对象练习

  

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><ul class="nav"><li>你好</li><li>我是</li><li>Superman</li></ul><script>// 第一种方法// 伪类选择器// first-child :获取的第一行元素// nth-child(2):第二行元素,括号里写几就是第几行,也可以用2n等来表示// last-child:最后一行元素// const nav1 = document.querySelector('.nav li:first-child')// console.log(nav1);// const nav2 = document.querySelector('.nav li:nth-child(2)')// console.log(nav2);// const nav3 = document.querySelector('.nav li:last-child')// console.log(nav3);// 第二种方法// 可以用循环输出每个元素 for循环// 获取所有元素,再循环输出const nav1 = document.querySelectorAll('.nav li')// 伪数组,所以有数组长度,就是获取 对象名.lengthfor (let i = 0; i < nav1.length; i++) {console.log(nav1[i]);  //每个小li}</script>
</body>
</html>
4.document 是什么?
  • Ø 是 DOM 里提供的一个对象
  • Ø 网页所有内容都在document里面

2. 根据CSS选择器来获取DOM元素 (重点)

  • 选择匹配的第一个元素

语法:document.querySelector('css选择器')

  • 参数:包含一个或多个有效的CSS选择器 字符串

  • 返回值:

    • CSS选择器匹配的第一个元素,一个 HTMLElement对象。
    • 如果没有匹配到,则返回null。
  • 选择器匹配多个元素

  • 语法:document.querySelectorAll('css选择器')

  • 参数:包含一个或多个有效的CSS选择器 字符串

  • 返回值:css选择器匹配的NodeList 对象集合

获取一个DOM元素我们使用谁?能直接操作修改吗?

Ø querySelector() Ø 可以 2. 获取多个DOM元素我们使用谁?能直接修改吗? 如果不能可以怎么做到修改 ? Ø querySelectorAll() Ø 不可以, 只能通过遍历的方式一次给里面的元素做修改

1.设置/修改DOM元素内容有哪2钟方式?

  • Ø 元素.innerText 属性
  • Ø 元素.innerHTML 属性

1.1操作元素内容,修改元素练习

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div class="box">想要修改的内容</div><div class="first">可以解析标签</div><script>// 第一步:获取元素const box1 = document.querySelector('.box')console.log(box1);// 修改内容 对象.innerText   显示存文本,不解析标签console.log(box1.innerText ); //获取要修改的文字内容box1.innerText = '哈哈'// 第一步:获取元素    对象.innerHTML 会解析标签,多标签建议使用模版字符const first1 = document.querySelector('.first')first1.innerHTML='<strong>我能修改标签</strong>'</script>
</body>
</html>

2. 两者者的区别是什么?

  • Ø 元素.innerText 属性 只识别文本,不能解析标签
  • Ø 元素.innerHTML 属性 能识别文本,能够解析标签

抽奖练习

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.all{width: 500px;height: 300px;border:1px solid rgb(245, 131, 150);}.one{color:red;}.two{color: blue;}.three{color: green;}</style>
</head>
<body><div class="all"><h1>幸福小区业主抽奖活动</h1><h2><span class="one">一等奖:?</span></h2><h3><span class="two">二等奖:?</span></h3><h4><span class="three">三等奖:?</span></h4></div><script>//  创建一个数组储存 const arr = [ '张三', '李四', '王五', '赵六', '田七'] //  生成数组随机数let random = Math.floor(Math.random() * arr.length)//  获取对象元素const one = document.querySelector('.one') one.innerHTML=`一等奖:${arr[random]}`arr.splice(random,1)console.log(arr);//   生成第二个随机数let random1=Math.floor(Math.random() * arr.length)// 获取对象const two = document.querySelector('.two')//  对象名.innerHTML='值' 修改内容,修改里面的值two.innerHTML=`二等奖:${arr[random1]}`// 删除随机数中获取到的元素arr.splice(random1,1)// 生成第三个随机数let random2=Math.floor(Math.random() *arr.length)//  获取对象const three = document.querySelector('.three')three.innerHTML=`三等奖:${arr[random2]}`arr.splice(random2,1)
</script> </body>
</html>

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

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

相关文章

IDE启动失败

报错&#xff1a;Cannot connect to already running IDE instance. Exception: Process 24,264 is still running 翻译&#xff1a;无法连接到已运行的IDE实例。异常:进程24,264仍在运行 打开任务管理器&#xff0c;找到PID为24264的CPU线程&#xff0c;强行结束即可。 【Ct…

JavaScript进阶笔记--深入对象-内置构造函数及案例

深入对象 创建对象三种方式 利用对象字面量new Object&#xff08;{…}&#xff09;利用构造函数 // 1. 字面量创建对象const obj1 {name: pig,age: 18};console.log(obj1); // {name: "pig", age: 18}// 2. 构造函数创建对象function Pig(name, age) {this.name…

聚类分析 | AP近邻传播聚类算法

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 AP近邻传播聚类算法 AP&#xff08;Affinity Propagation&#xff09;近邻传播聚类算法是一种基于数据点之间的相似度矩阵来进行聚类的算法。该算法不需要事先设定聚类簇的个数&#xff0c;而是通过在数据点之间传播…

GAN(Generative Adversarial Nets)

GAN(Generative Adversarial Nets) 引言 GAN由Ian J. Goodfellow等人提出&#xff0c;是Ian J. Goodfellow的代表作之一&#xff0c;他还出版了大家耳熟能详的花书&#xff08;Deep Learning深度学习&#xff09;&#xff0c;GAN主要的思想是同时训练两个模型&#xff0c;生成…

根据请求错误的状态码判断代理配置问题

SafeLine&#xff0c;中文名 “雷池”&#xff0c;是一款简单好用, 效果突出的 Web 应用防火墙(WAF)&#xff0c;可以保护 Web 服务不受黑客攻击。 雷池通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受 SQL 注入、XSS、 代码注入、命…

【面试宝典】深入Python高级:直戳痛点的题目演示(下)

目录 &#x1f354; Python下多线程的限制以及多进程中传递参数的⽅式 &#x1f354; Python是如何进⾏内存管理的&#xff1f; &#x1f354; Python⾥⾯如何拷⻉⼀个对象&#xff1f; &#x1f354; Python⾥⾯search()和match()的区别&#xff1f; &#x1f354; lambd…

力扣LeetCode-链表中的循环与递归使用

标题做题的时候发现循环与递归的使用差别&#xff1a; 看两道题&#xff1a; 两道题都是不知道链表有多长&#xff0c;所以需要用到循环&#xff0c;用到循环就可以把整个过程分成多个循环体&#xff0c;就是每一次循环要执行的内容。 反转链表&#xff1a; 把null–>1…

springboot 整合 rabbitMQ(1)

目录 一、MQ概述 二、MQ的优势和劣势 三、常见的MQ产品 RabbitMQ使用步骤 第一步&#xff1a;确保rabbitmq启动并且可以访问15672 第二步&#xff1a;导入依赖 第三步&#xff1a;配置 auto自动确认 manual手工确认&#xff08;推荐使用&#xff01;可以防止消息丢失&a…

数字电路尚硅谷学习笔记

学习视频&#xff1a;01_数字电路_从零搭建计算机引导_哔哩哔哩_bilibili 第1章数字电路基础 1.引言 数字电路是现代科技和工程领域中不可或缺的基础。从计算机系统到通信设备&#xff0c;从家庭电子产品到工业自动化&#xff0c;数字电路无处不在&#xff0c;影响着我们的生…

Ubuntu 22.04 安装 KVM

首先检查是否支持 CPU 虚拟化&#xff0c;现在的 CPU 都应该支持&#xff0c;运行下面的命令&#xff0c;大于0 就是支持。 egrep -c (vmx|svm) /proc/cpuinfo安装 Libvirt apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-uti…

华为FreeBuds 6i戴久了会耳朵胀痛吗?该怎么办?

华为FreeBuds 6i戴久了&#xff0c;会有耳朵胀痛的感觉吗&#xff1f;其实可能是没选对适合自己的耳塞&#xff0c;给你们分享几个佩戴更舒服的方法&#xff0c;一起来看看~ 首先和大家说说为什么华为FreeBuds 6i戴久了不舒服&#xff0c;一方面是耳塞尺寸不合适&#xff0c;另…

数据结构-5.5.二叉树的存储结构

一.二叉树的顺序存储&#xff1a; a.完全二叉树&#xff1a; 1.顺序存储中利用了静态数组&#xff0c;空间大小有限&#xff1a; 2.基本操作&#xff1a; (i是结点编号) 1.上述图片中i所在的层次后面的公式应该把n换成i(图片里写错了)&#xff1b; 2.上述图片判断i是否有左…

VLAN:虚拟局域网

VLAN:虚拟局域网 交换机和路由器协同工作后&#xff0c;将原先的一个广播域&#xff0c;逻辑上&#xff0c;切分为多个广播域。 第一步:创建VLAN [SW1]dispaly vlan 查询vlan VID&#xff08;VLAN ID&#xff09;:用来区分和标定不同的vlan 由12位二进制构成 范围: 0-4…

手撕数据结构 —— 带头双向循环链表(C语言讲解)

目录 0.前言 1.什么是带头双向循环链表 理解带头 ​编辑 理解双向 理解循环 2.带头双向循环链表的实现 List.h文件中接口总览 具体实现 结点的定义 申请结点 初始化 打印链表 尾插 尾删 头插 头删 ​编辑​编辑 获取大小 查找 在指定位置前插入 ​编辑…

基于顺序表实现通讯录项目

目录 1.通讯录的基本构成 2.通讯录的底层原理 3.通讯录的底层——顺序表 ——————————————————————————————————————————— 正文开始 1. 通讯录的基本构成 1.1 联系人信息的主要内容 ●姓名 ●性别 ●年龄 ●电话 ●住址 1.2 数…

第33次CCF计算机软件能力认证-第4题十滴水

题干&#xff1a; 十滴水是一个非常经典的小游戏。 小 C C C 正在玩一个一维版本的十滴水游戏。 我们通过一个例子描述游戏的基本规则。 游戏在一个 1 c 1c 1c 的网格上进行&#xff0c;格子用整数 x ( 1 ≤ x ≤ c ) x(1≤x≤c) x(1≤x≤c) 编号&#xff0c;编号从左往…

【Flutter、H5、Web?前端个人总结】分享从业经历经验、自我规范准则,纯干货

前言 hi&#xff0c;正式接触web前端已经经过了两年的时间&#xff0c;从大学的java后端转型到web前端&#xff0c;再到后续转战Flutter&#xff0c;逐渐对前端有了一些心得体会&#xff0c;其实在当下前端的呈现形式一直在变化&#xff0c;无论你是用原生、还是web还是混编的…

初始项目托管到gitee教程,开箱即用

0.本地仓库与远程仓库关联&#xff08;需先在gitee创建仓库&#xff09; ①打开powershell生成ssh key ssh-keygen -t ed25519 -C "Gitee SSH Key"-t key 类型-C 注释 生成成功如下&#xff0c;并按下三次回车 ②查看公私钥文件 ls ~/.ssh/输出&#xff1a; id_…

怎么提取伴奏?5个人声分离方法一步搞定!

在进行音乐创作或混音等操作时&#xff0c;提取出音乐中的伴奏是一个常见的需求。伴奏是指音乐中除了主旋律和歌唱部分之外的音轨&#xff0c;通常包括鼓、贝斯、吉他等乐器的演奏&#xff0c;提取出伴奏可以让我们更方便地对音乐进行处理。 本文分享几个可以提取伴奏的方法&a…

el-table表头加红色星标

代码&#xff1a; <el-table-column prop"name" label"姓名" width"auto"><template #header><span style"color: red; margin-right: 4px">*</span><span>姓名</span></template></el…