web APIs总结(1)

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

  • 获取一个DOM元素我们使用谁?能直接操作修改吗?
  • querySelector() 可以
  • 返回值:CSS选择器匹配的第一个元素,一个 HTMLElement对象。如果没有匹配到,则返null

  • 获取多个DOM元素我们使用谁?能直接修改吗? 如果不能可以怎么做到修改?
  • querySelectorAll() 不可以, 得到的是伪数组,需要for遍历得到每一个元素
  • 返回值:CSS选择器匹配的NodeList 对象集合
  • (注:小括号里面的参数里面都要写css选择器,必须是字符串,也就是必须加引号)

2. 操作元素内容

元素.innerText 属性:将文本内容添加/更新到任意标签位置。显示纯文本,不解析标签
元素.innerHTML 属性:将文本内容添加/更新到任意标签位置.会解析标签,多标签建议使用模板字符

3. 通过 style 属性操作CSS

语法:对象.style.样式属性 = ‘值’
(注:1. 修改样式通过style属性引出。2. 如果属性有-连接符,需要转换为小驼峰命名法。3. 赋值的时候,需要的时候不要忘记加css单位

如果需要修改一个div盒子的样式,比如 padding-left, 如何写?
element.style.paddingLeft = ‘300px’ 小驼峰命名

4. 操作类名(className) 操作CSS

可以同时修改多个样式,但是直接使用 className 赋值会覆盖以前的类名
语法:

//active是一个CSS类名
元素.className = 'active'

5. 通过 classList 操作类控制CSS

为了解决className 容易覆盖以前的类名,我们可以通过classList方式追加和删除类名
语法:

//追加一个类
元素.classList.add('类名')
//删除一个类
元素.classList.remove('类名')
//切换一个类(有该类名就删除,没有就加上)(重要)
元素.classList.toggle('类名')

6. 操作表单元素属性

  • (点击眼睛,可以看到密码,本质是把表单类型转换为文本框)
表单.value = '用户名'
表单.type = 'password'
  • 如果为true 代表添加了该属性 如果是false 代表移除了该属性。
    比如: disabled、checked、selected
表单.checked = true//选中按钮
表单.disabled = true//禁用按钮

7. 定时器-间歇函数

每隔一段时间需要自动执行一段代码,不需要我们手动去触发(例如:网页中的倒计时)
开启定时器:
setInterval(函数, 间隔时间)

function repeat() {
	console.log('一秒执行一次')
}, 1000)
//每隔一秒时间调用repeat函数
setInterval(repeat, 1000)

作用:每隔一段时间调用这个函数。间隔时间单位是毫秒(注:函数名字不需要加括号。定时器返回的是一个id数字)
关闭定时器:
let 变量名 = setInterval(函数名, 间隔时间);clearInterval(变量名)

let timer = setInterval(function(){
	console.log('一秒执行一次')
},1000)
clearInterval(timer)

8. 事件监听

语法:
元素对象.addEventListener('事件类型',要执行的函数)

<button>点击</button>
<script>
	const btn = document.querySelector('button')
    btn.addEventListener('click', function () {
      alert('你早呀~')
    })
</script>

事件监听三要素:
事件源:那个dom元素被事件触发了,要获取dom元素
事件类型:用什么方式触发,比如鼠标单击 click、鼠标经过 mouseover 等
事件调用的函数:要做什么事
(注:事件类型要加引号函数是点击之后再去执行,每次点击都会执行一次

9. 事件类型

  • 鼠标事件(鼠标触发):click 鼠标点击。mouseenter 鼠标经过。mouseleave 鼠标离开
  • 焦点事件(表单获取光标):focus 获得焦点。blur 失去焦点
  • 键盘事件(键盘触发):Keydown 键盘按下触发。Keyup 键盘抬起触发
  • 文本事件(表单输入触发):input 用户输入事件

10. 说说this吧,this指向谁

  • 非严格模式下,普通函数中,this指向的是window
  • 若是事件监听函数,this指向的是调用者
  • 箭头函数是没有this的
  • 若想改变this的指向方向,可用applycall
  • 【谁调用, this 就是谁】 是判断 this 指向的粗略规则

11. 回调函数

  • 将函数 A 作为参数传递给函数 B 时,我们称函数 A 为回调函数
  • 使用场景:setInterval里的函数和事件监听里的函数,写完之后不会立马执行。
    定时器每隔一段时间便回头调用这个函数,事件监听每点击一次,也回头调用该函数。
  • 使用匿名函数做为回调函数比较常见
    在这里插入图片描述

12. 事件冒泡

  • 捕获阶段(加true)是 从父到子。**冒泡阶段(重要)**是从子到父
  • 当一个元素触发事件后,会依次向上调用所有父级元素的 同名事件(如:都是click点击事件)
  • 事件冒泡是默认存在的

13. 阻止冒泡如何做?

因为默认就有冒泡模式的存在,所以容易导致事件影响到父级元素

事件对象.stopPropagation()

14. 阻止元素默认行为如何做?

我们某些情况下需要阻止默认行为的发生,比如 阻止 链接的跳转,表单域跳转

e.preventDefault()

15. 解绑事件

**(注意:匿名函数无法被解绑)**所以要给函数命名

function fn() {
alert('点击了')
}
btn.addEventListener('click', fn)
// L2 事件监听移除解绑
btn.removeEventListener('click', fn)

16. 鼠标经过事件

  • mouseover 和 mouseout 会有冒泡效果
  • mouseenter 和 mouseleave 没有冒泡效果(推荐

17.事件委托的好处

  • 原理:给父元素注册事件,当我们触发子元素的时候,会冒泡到父元素身上,从而触发父元素的事件
  • 实现:事件对象.target.tagName 可以获得真正触发事件的元素
    (注:e.target是我们点击的对象)

18. 自定义属性

定义的id值为字符串

<div data-id="0"></div>
<script>
const div = document.querySelector('div')
console.log(div.dataset.id) // 0 
</script>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【随笔】Git 高级篇 -- 快速定位分支 ^|~(二十三)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

VBA 制作二维码

假设从B1单元格取值&#xff0c;在A1单元格中生成二维码&#xff0c; 那么&#xff0c;代码如下↓ Sub genBarCode()清除已有二维码Call clearBarCodeWith ActiveSheet.OLEObjects.Add(ClassType:"BARCODE.BarCodeCtrl.1").Object.Style 11 二维码样式.Object.V…

关于鸿蒙HarmonyOS,现在关注什么可以更高效

对于移动端来讲&#xff0c;今年最火的关键词除了裁员&#xff0c;我想就是鸿蒙HarmonyOS了。其实鸿蒙的推出也给安卓端的同学提供了职业发展的新路径或方向。 鸿蒙&#xff0c;原本源自中国神话传说的名字&#xff0c;如今已成为了科技领域的焦点&#xff0c;招聘网站上也出现…

关于DNS解析那些事儿,了解DNS解析的基础知识

DNS&#xff0c;全称Domain Name System域名系统&#xff0c;是一个将域名和IP地址相互映射的一个分布于世界各地的分布式数据库&#xff0c;而DNS解析就是将域名转换为IP地址的过程&#xff0c;使人们可以轻松实现通过域名访问网站。DNS解析是网站建设非常关键的一步&#xff…

wireshark数据流分析学习日记day3-从 Pcap 导出对象

从 HTTP 流量导出文件 过滤http请求 发现get请求上传了两个文件 保存即可 也可以保存网页 点击保存 改文件名为html结尾以便于访问 请谨慎使用此方法。如果从 pcap 中提取恶意 HTML 代码并在 Web 浏览器中查看它&#xff0c;则 HTML 可能会调用恶意域&#xff0c;这就是为什么…

JavaWeb中的Servlet是什么?怎么使用?

文章目录 一、什么是Servlet二、Servlet的基本内容1、Servlet的作用2、Servlet接口3、Servlet接口实现类4、Servlet接口实现类开发步骤5、Servlet对象生命周期6、HttpServletResquest接口7、HttpServletResponse接口8、请求对象和响应对象流程图9、请求对象和响应对象生命周期1…

一分钟实现python对dataframe的某列进行一个范围值的挑选

1、解释&#xff1a;在Python 中 可以使用 pandas.DataFrame.loc和 numpy.where来实现 2、示例&#xff1a; 假设我们有一个名为data_cloud的DataFrame&#xff0c;其中有一列名为cloud&#xff0c;我们想要筛选出cloud列中值为在20~80范围的所有行。可以使用以下代码实现&…

学习Rust的第二天:Cargo

We dive into Cargo, the powerful and convenient build system and package manager for Rust. 基于Steve Klabnik的《The Rust Programming Language》一书&#xff0c;我们深入了解Cargo&#xff0c;这是Rust强大而方便的构建系统和包管理器。 Cargo is a robust and effic…

LeetCode算法——双指针篇

宫侑的发球最终进化为三刀流&#xff0c;那么我的题解也未必要循规蹈矩! 1、验证回文串 题目描述&#xff1a; 解法&#xff1a; 这题官方给的关于双指针的题解都用到了多个库函数&#xff0c;如 tolower(大写字母转小写)、isalnum(判断一个字符是否是 字母 或者 十进制数字 )…

优化策略:企业海量文件传输事件处理(下)

在探讨了文件传输事件通知的重要性之后&#xff0c;本文将着重阐述镭速技术如何通过策略优化来增强企业处理大规模文件传输任务的能力。 大规模文件传输的挑战 在初期设计事件通知功能时&#xff0c;为了迅速适应市场需求&#xff0c;并未充分考虑各种可能性&#xff0c;而是采…

关于UCG游戏平台的一些思考

UCG游戏平台&#xff0c;全称User Generated Content&#xff0c;即用户生成内容。它涵盖了所有玩家可以自主编辑的部分&#xff0c;包含并不限于换装、捏脸、关卡摆放等内容。 UCG概念在最近又火了起来&#xff0c;但这个模式出现的并不早。早在10多年前&#xff0c;war3编辑器…

查杀linux挖矿病毒 kswapd0

中毒现象 高cpu占用&#xff0c;使用top命令查看cpu使用率长时间50%以上&#xff0c;cpu占用异常的进程八成就是挖矿病毒进程 此病毒隐藏了自己&#xff0c;top命令无法查看到挖矿病毒进程&#xff0c;可通过sysdig命令找到隐藏进程 安装sysdig curl -s https://s3.amazonaw…

手动实现简易版RPC(上)

手动实现简易版RPC(上) 前言 什么是RPC&#xff1f;它的原理是什么&#xff1f;它有什么特点&#xff1f;如果让你实现一个RPC框架&#xff0c;你会如何是实现&#xff1f;带着这些问题&#xff0c;开始今天的学习。 本文主要介绍RPC概述以及一些关于RPC的知识&#xff0c;为…

UI设计解析:入门必读,透彻理解UI的核心概念

UI用户界面是什么&#xff1f; UI是用户界面的缩写。UI是用户与设备、网站或应用程序交互的媒介。目标是使用户体验简单直观。用户只需尽量得到预期的结果。 用户界面是建立在吸引人类感官&#xff08;视觉、触觉、听觉等&#xff09;的交互层中的。它不仅包括键盘、鼠标、触…

Linux系统概述与安装

Linux的介绍 Linux内核 Linux内核是 Linux 操作系统主要组件&#xff0c;也是计算机硬件与其软件之间的交互入口。它负责两者之间的通信&#xff0c;还要尽可能高效地管理资源 Linux Shell shell是系统的用户界面&#xff0c;提供了用户与内核进行交互操作的一种接口 Linux文…

kubekey 离线安装harbor、k8s、kubesphere

目录 参考文献 前提条件 部署准备 下载kubukey 离线包配置和制作 配置离线包 制作离线包 离线安装集群 复制KubeKey 和制品 artifact到离线机器 创建初始换、安装配置文件 安装镜像仓库harbor 初始化harbor 项目 修改配置文件 安装k8s集群和kubesphere 手动安装依…

子域名是什么?有什么作用?

在互联网世界中&#xff0c;域名是我们访问网站的关键。每一个公司的网站都需要拥有自己的域名&#xff0c;其中有些大型公司的网站还不止一个域名&#xff0c;除了主域名外还拥有子域名。有些人感到非常困惑&#xff0c;不知道子域名是什么。其实子域名也就是平时所说的二级域…

AI绘本生成解决方案,快速生成高质量的AI绘本视频

美摄科技凭借其深厚的技术积累和前瞻性的市场洞察力&#xff0c;近日推出了一款面向企业的AI绘本生成解决方案&#xff0c;旨在通过智能化、自动化的方式&#xff0c;帮助企业快速将文字内容转化为生动有趣的绘本视频&#xff0c;从而提升内容传播效率&#xff0c;增强品牌影响…

openssl密钥证书管理(Key and Certificate Management)

前言 前两日应别人要求提供一份CSR文件过去&#xff0c;方便他们生成相关证书&#xff0c;对于这一块本来也不熟&#xff0c;于是找到openssl官网&#xff0c;想找找相关的教程看看&#xff0c;一番小找&#xff0c;果有收获&#xff0c;是个宝藏&#xff0c;源文档在这…

AI 对话完善【人工智能】

AI 对话【人工智能】 前言版权开源推荐AI 对话v0版本&#xff1a;基础v1版本&#xff1a;对话数据表tag.jsTagController v2版本&#xff1a;回复中textarea.jsChatController v3版本&#xff1a;流式输出chatLast.jsChatController v4版本&#xff1a;多轮对话QianfanUtilChat…