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.rhkb.cn/news/445881.html

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

相关文章

【计网】从零开始认识https协议 --- 保证安全的网络通信

在每个死胡同的尽头&#xff0c; 都有另一个维度的天空&#xff0c; 在无路可走时迫使你腾空而起&#xff0c; 那就是奇迹。 --- 廖一梅 --- 从零开始认识https协议 1 什么是https协议2 https通信方案2.1 只使用对称加密2.2 只使用非对称加密2.3 双方都使用非对称加密2.4 …

TCP/IP协议栈

一、TCP/IP和OSI模型的比较 相同点 两者都是以协议栈的概念为基础 协议栈中的协议彼此相互独立 下层对上层提供服务 不同点 OSI是先有模型&#xff1b;TCP/IP是先有协议&#xff0c;后有模型 OSI是国际标准&#xff0c;适用于各种协议栈&#xff1b;TCP/IP实际标准&…

论文笔记:Pre-training to Match for Unified Low-shot Relation Extraction

论文来源&#xff1a;ACL 2022 论文地址&#xff1a;https://aclanthology.org/2022.acl-long.397.pdf 论文代码&#xff1a;https://github.com/fc-liu/MCMN &#xff08;笔记不易&#xff0c;请勿恶意转载抄袭&#xff01;&#xff01;&#xff01;&#xff09; 目录 A…

外卖点餐系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;外卖员管理&#xff0c;餐厅管理&#xff0c;用户管理&#xff0c;菜品分类管理&#xff0c;菜品信息管理&#xff0c;外卖订单管理&#xff0c;订单配送管理 微信端账号功能包括&#xff1a;系统首页…

linux下编译鸿蒙版curl、openssl

一.环境准备 1.参考说明 NDK开发介绍&#xff1a;https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/napi/ndk-development-overview.md 2.NDK下载 点击介绍页面中的链接可以跳转到相应下载页面&#xff1a; 下载相应版本&#xff1a; 下载完毕后解压到指定目…

.NET 通过C#设置Excel工作表的页面设置

Excel文件数据准备就绪并需要以报告形式呈现时&#xff0c;调整Excel文件的页面设置变得尤为重要&#xff0c;不仅关乎文档的专业外观&#xff0c;还直接影响到打印或电子分享时的可读性和实用性。通过C#来自动化这一过程&#xff0c;不仅可以节省大量手动配置的时间&#xff0…

python 画图|三维散点图输出

【1】引言 在前述学习进程中&#xff0c;已经初步掌握三维动画输出和散点图动画输出基本技能&#xff0c;可通过下述链接直达&#xff1a; python画图|散点图动态输出-CSDN博客 python动画教程|Animations using Matplotlib-官网教程程序解读_如何用python制作微动画-CSDN博…

Docker 教程四 (Docker 镜像加速)

Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难&#xff0c;此时可以配置镜像加速器。 目前国内 Docker 镜像源出现了一些问题&#xff0c;基本不能用了&#xff0c;后期能用我再更新下。* Docker 官方和国内很多云服务商都提供了国内加速器服务&#xff0c;例如…

STM32 SPI串行总线

目录 STM32的SPI通信原理 SPI串行总线概述 SPI串行总线互连方式 STM32F1 SPI串行总线的工作原理 SPI串行总线的特征 SPI串行总线的内部结构 SPI串行总线时钟信号的相位和极性 STM32的SPI接口配置 STM32的SPI接口数据发送与接收过程 SPI的HAL 驱动函数 STM32的SPI通信…

vue+ElementUI—实现基础后台管理布局(sideBar+header+appMain)(附源码)

后台管理的模板很多&#xff0c;vue本身就提供了完整的vue-template-admin&#xff0c;vue-admin-beautiful等后台管理系统化框架&#xff0c;但是这些框架正是因为成体系而显得繁重。假如你想搭建一个静态的后台管理模板页面和几个单独的菜单页面&#xff0c;直接就上框架是否…

STM32CubeIDE使用ADC采用DMA重大BUG

问题描述 STM32CubeIDE 1.8.0问题 大牛攻城狮最近调试STM32L151CBT6。由于项目上使用该款芯片做控制电源使用&#xff0c;其中涉及到多路ADC的数据采样。使用STM32CubeIDE 1.8.0版本详细如下图所示 注意这里的使用的软件版本号很关键。采用该款软件搭建工程&#xff0c;第一次…

物联网如何推动工业数字化转型?

全球步入数字经济时代&#xff0c;制造业的数字化转型已成为驱动经济发展的核心引擎。物联网作为工业数字化转型的强力推手&#xff0c;其深度融入不仅促进了生产流程的智能化与自动化&#xff0c;还实现了数据的实时分析与精准决策&#xff0c;为制造业企业带来了前所未有的创…

基于Langchain框架下Prompt工程调教大模型(LLM)[输入输出接口、提示词模板与例子选择器的协同应用

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下基于Langchain框架下Prompt工程调教大模型(LLM)[输入输出接口、提示词模板与例子选择器的协同应用。本文深入探讨了Langchain框架下的Prompt工程在调教LLM&#xff08;大语言模型&#xff09;方面的应用&#xff0c…

高效微调理解(prompt-tuning,p-tuning v1,p-tuning v2,lora)

高效微调&#xff08;prompt-tuning&#xff0c;p-tuning v1&#xff0c;p-tuning v2&#xff0c;lora&#xff09; 1.prompt-tuning&#xff1a; 例子理解&#xff1b;保持原本模型参数不变&#xff0c;通过训练提示词的参数调整prompt&#xff0c;使其与下游任务匹配。 例子…

SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz(动态新增、修改等操作)

SpringBoot教程&#xff08;二十四&#xff09; | SpringBoot实现分布式定时任务之Quartz&#xff08;动态新增、修改等操作&#xff09; 前言数据库脚本创建需要被调度的方法创建相关实体类创建业务层接口创建业务层实现类控制层类测试结果 前言 我这边的SpringBoot的版本为2…

用java来编写web界面

一、ssm框架整体目录架构 二、编写后端代码 1、编写实体层代码 实体层代码就是你的对象 entity package com.cv.entity;public class Apple {private Integer id;private String name;private Integer quantity;private Integer price;private Integer categoryId;public…

libaom 源码分析系列:noise_model.c 文件

libaom libaom 是 AOMedia(开放媒体联盟)开发的一个开源视频编解码器库,它是 AV1 视频压缩格式的参考实现,并被广泛用于多种生产系统中。libaom 支持多种功能,包括可扩展视频编码(SVC)、实时通信(RTC)优化等,并定期进行更新以提高压缩效率和编码速度 。 libaom 的一些…

2.1 HTML5 - Canvas标签

文章目录 引言Canvas标签概述定义实例&#xff1a;创建画布 理解Canvas坐标系概述实例&#xff1a;获取Canvas坐标 获取Canvas环境上下文概述实例&#xff1a;获取Canvas上下文设置渐变色效果 结语 引言 大家好&#xff0c;今天我们要一起探索HTML5中一个非常有趣且强大的特性…

Redhat的yum源出错——如何将yum源换成阿里云Centos源

文章目录 引言1. 查看和删除已安装的yum包2. 查看系统的版本号3. 镜像文件下载4. 镜像文件安装5. 下载和安装repo文件6. 配置repo文件7. 更新软件包缓存8. 验证9. 问题问题1 参考文献 Linux RedHat更换阿里云yum源 Redhat8.0 yum install问题解决 阿里云镜像 引言 为什么redha…

六西格玛黑带项目:TBX-02无人机飞行稳定性提升——张驰咨询

一、项目背景与问题定义 TBX-02是该公司最新发布的消费级无人机&#xff0c;面向摄影爱好者和户外探险者。产品上市后&#xff0c;通过客户反馈和实际测试数据发现&#xff0c;该无人机在复杂飞行环境中&#xff0c;如强风或快速移动时&#xff0c;存在明显的飞行抖动和稳定性…