JavaScript(WebAPI)

文章目录

  • 1. 什么是 WebAPI
  • 2. DOM 基本概念
    • 2.1 DOM 树
  • 3. 获取元素
    • 3.1 querySelector
    • 3.2 querySelectorAll
  • 4. 事件初识
    • 4.1 键盘事件
  • 5. 操作元素
    • 5.1 获取/修改元素属性
    • 5.2 获取/修改表单元素属性
    • 5.3 获取/修改样式属性
  • 6. 操作节点
    • 6.1 新增节点
    • 6.2 删除节点

1. 什么是 WebAPI

在这里插入图片描述
前面学的 JS 基础语法主要是让我们建立基本的编程思维,相当于练武需要先
扎马步。但是真正来写一个更加复杂的有交互式的页面,还需要 WebAPI 的支持,相当于各种招式。

2. DOM 基本概念

在这里插入图片描述

2.1 DOM 树

一个页面的结构是一个树形结构, 称为 DOM 树。
页面结构形如:
在这里插入图片描述
DOM 树结构形如:
在这里插入图片描述
在这里插入图片描述
这些文档等概念在 JS 代码中就对应一个个的对象,所以才叫 “文档对象模型”。

3. 获取元素

3.1 querySelector

querySelector 能够完全复用前面学过的 CSS 选择器知识,达到更快捷更精准的方式获取到元素对象。
在这里插入图片描述
selectors 包含一个或多个要匹配的选择器的 DOM字符串 DOMString 。 该字符串必须是有效的CSS选择器字符串;如果不是,则引发 SYNTAX_ERR 异常。
表示文档中与指定的一组CSS选择器匹配的第一个元素的 html元素 Element 对象。
如果您需要与指定选择器匹配的所有元素的列表,则应该使用 querySelectorAll()。
可以在任何元素上调用,不仅仅是 document。 调用这个方法的元素将作为本次查找的根元素

举个例子:
在这里插入图片描述
结果如下:
在这里插入图片描述

3.2 querySelectorAll

使用 querySelectorAll 用法和上面类似:
在这里插入图片描述
在这里插入图片描述

4. 事件初识

JS 要构建动态页面,就需要感知到用户的行为,用户对于页面的一些操作(点击, 选择, 修改等) 操作都会在浏览器中产生一个个事件。被 JS 获取到,从而进行更复杂的交互操作。

事件三要素:
在这里插入图片描述
举个例子:
在这里插入图片描述
其中 btn.onclick = function() 这个操作称为 注册事件/绑定事件。
结果如下:
在这里插入图片描述
注意: 这个匿名函数相当于一个回调函数, 这个函数不需要程序猿主动来调用, 而是交给浏览器, 由浏览器自动在合适的时机(触发点击操作时) 进行调用

4.1 键盘事件

在这里插入图片描述
举个例子:
在这里插入图片描述
结果如下:
在这里插入图片描述
当我们输入时,会进行一个响应。虽然有了响应,但是我们不知道它输入的是什么。
在这里插入图片描述
在这里插入图片描述
它打出来的是ascii,但是它不区分大小写。
在这里插入图片描述
这个事件是区分大小写的。但是这个键不支持Shift、Alt等这些键。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看到按下和松开都有响应了。

5. 操作元素

5.1 获取/修改元素属性

可以通过 Element 对象的属性来直接修改, 就能影响到页面显示效果:
在这里插入图片描述
此时可以看到 img 这个 Element 对象中有很多属性:
在这里插入图片描述
我们可以在代码中直接通过这些属性来获取属性的值或者直接修改属性:
在这里插入图片描述
结果如下:
在这里插入图片描述

5.2 获取/修改表单元素属性

在这里插入图片描述
代码示例: 切换按钮的文本。
假设这是个播放按钮,在 “播放” - “暂停” 之间切换:
在这里插入图片描述
代码示例: 点击计数
使用一个输入框输入初始值(整数),每次点击按钮, 值 + 1或者-1。
在这里插入图片描述
代码示例: 全选/取消全选按钮
在这里插入图片描述
在这里插入图片描述
这里的checked属性就是选中了就为true,没有选中是false。这里我们把全部选中给完成了。
在这里插入图片描述
在这里插入图片描述
但是还存在这种情况还没有解决。
在这里插入图片描述

5.3 获取/修改样式属性

CSS 中指定给元素的属性,都可以通过 JS 来修改。
在这里插入图片描述
"行内样式"通过 style 直接在标签上指定的样式,优先级很高。
代码示例: 点击文字则放大字体
style 中的属性都是使用 驼峰命名 的方式和 CSS 属性对应的。例如: font-size => fontSize, background-color => backgroundColor 等。这种方式修改只影响到特定样式,其他内联样式的值不变。
在这里插入图片描述
类名样式操作:

element.className = [CSS 类名];

修改元素的 CSS 类名,适用于要修改的样式很多的情况。

代码示例: 开启夜间模式
在这里插入图片描述
举个例子:
在这里插入图片描述
在这里插入图片描述
当我们点击过后:
在这里插入图片描述

6. 操作节点

6.1 新增节点

在这里插入图片描述
创建元素节点:
使用 createElement 方法来创建一个元素, options 参数暂不关注。

var element = document.createElement(tagName[, options]);

tagName是标签的名字。
在这里插入图片描述
举个例子:
在这里插入图片描述
虽然创建出来了,但是并没有显示在页面上。这是因为新创建的节点并没有加入到DOM 树中。

插入节点到 dom 树中:
方法一:使用 appendChild 将节点插入到指定节点的最后一个孩子之后
在这里插入图片描述
举个例子:
在这里插入图片描述
这里是插入了div盒子的后面。
在这里插入图片描述

方法二: 使用 insertBefore 将节点插入到指定节点之前。
在这里插入图片描述
在这里插入图片描述
举个例子:
在这里插入图片描述
结果如下:
在这里插入图片描述
注意1: 如果针对一个节点插入两次,则只有最后一次生效(相当于把元素移动了)
在这里插入图片描述
在这里插入图片描述
注意2: 一旦一个节点插入完毕,再针对刚刚的节点对象进行修改,能够同步影响到 DOM 树中的内容

6.2 删除节点

在这里插入图片描述
在这里插入图片描述
举个例子:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

浅谈智慧路灯安全智能供电方案设计——安科瑞赵嘉敏

摘要: 智慧路灯,作为智慧城市、新基建、城市更新的主要组成部分,近些年在各大城市已得到很好的落地和 应用,但其与传统路灯相比集成大量异元异构电子设备,这些设备的供电电压、接口形式、权属单位各不相同, 如何设计一…

Z-library居然来中国了!

提起「Z-Library」的大名,想必有不少朋友是知道的,早在2021年11月该网站遭遇了封站,好在目前已经有了比较稳定的国内直达网址,实测过了几个月还是能够稳定访问。 Z-Library是一个电子图书馆项目,提供世界上最大的免费…

java编程中,保证接口幂等性的实现方案讨论

一、什么是幂等性 数学中的幂等是指f(x) f(f(x)),编程领域的术语是指同一个操作,在重复提交的情况下,最终产生的影响是不变的。举例说: 提交订单时,用户在购物车界面,重复点击“下单”,服务端…

【CUDA】windows下的CUDA安装

一、前言 windows10 下安装 CUDA ,首先需要下载安装包: CUDA toolkit(工具包) 二、安装前的准备 电脑环境检查 通过cmd,输入nvidia-smi 查看自己的驱动版本和支持的CUDA版本,如下图红圈标记位置 下载 …

尤雨溪:框架挖坑靠文档来补,这算 PUA 用户吗?丨 RTE 开发者日报 Vol.122

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

使用开源通义千问模型(Qwen)搭建自己的大模型服务

目标 1、使用开源的大模型服务搭建属于自己的模型服务; 2、调优自己的大模型; 选型 采用通义千问模型,https://github.com/QwenLM/Qwen 步骤 1、下载模型文件 开源模型库:https://www.modelscope.cn/models mkdir -p /data/…

Jmeter 性能 —— 吞吐量与并发用户数关系!

1、吞吐量和并发用户数的关系 2、已知在线用户数为3000,算出对应的并发用户数 ①我们常用的确定并发用户数的公式是: C活动用户数操作时间/系统运行时间 如每天最大在线用户数为3000人,每个用户平均操作时间为1小时,系统运行时…

【后退N帧协议】- 协议应用与局限分析

后退N帧协议是计算机网络通信中常用的一种流量控制协议,用于确保数据的可靠传输。本文将深入探讨后退N帧协议的原理、应用场景及局限性。 后退N帧协议的核心思想是在发送端发送数据时,等待接收端返回的确认信号。发送端每次发送N帧数据,并等…

基于SSM+Vue的学校社团管理系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

C# OpenCvSharp DNN FreeYOLO 人脸检测人脸图像质量评估

目录 效果 模型信息 yolo_free_huge_widerface_192x320.onnx face-quality-assessment.onnx 项目 代码 frmMain.cs FreeYoloFace FaceQualityAssessment.cs 下载 C# OpenCvSharp DNN FreeYOLO 人脸检测&人脸图像质量评估 效果 模型信息 yolo_free_huge_widerfa…

色标在matplotlib和plottable中

是这样的,我有一个数组[-4.4, -2.8, -2.6, -2.2, -1.1, 1.1, 1.2, 1.3, 3.6, 6.0, 6.4, 12.3],它需要绘制散点图,点的颜色来代表数值大小;同时,也需要在plottable上作为一列显示,同样用颜色来代表数值的大小…

HarmonyOS应用开发学习笔记 ArkTS 布局概述

一、布局概述 布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。在实际的开发过程中,需要遵守以下流程保证整体的布局效果 确定页面的布局结构。分析页面中的元素构成。选用适合的布局容器组件或属性控制页面中各个元素的位置和大小约束。 二…

【JUC】进程和线程

目录 📢什么是进程?🎡什么是线程?🚀进程和线程的区别?🎢Java 线程和操作系统的线程有啥区别?🎖️JDK21的虚拟线程🎯虚拟线程和平台线程的对比 📢什么是进程? 进程是程序的一次执…

Zabbix“专家坐诊”第223期问答汇总

来源:乐维社区 问题一 Q:Zabbix 5.0安装完mysql之后怎么备份?忘记mysql当时创建的密码了,怎么样能查看设置的密码? A:mysql初始化密码在 /var/log/mysqld.log中可以看到,搜关键字temporary pas…

【算法分析与设计】移动零

题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums [0…

电能计量芯片RN8209

电能计量芯片RN8209 简介2、操作2.1、复位2.2 模数转换2.3 有功功率2.4 无功功率2.5 有效值2.4 能量计算 RN8209中文手册 点击下载 简介 2、操作 2.1、复位 2.2 模数转换 2.3 有功功率 RN8209 提供两路有功功率的计算和校正,分别为电流 A 和电压有功功率计算和校正…

【笔记------freemodbus】一、stm32的裸机modbus-RTU从机移植(HAL库)

freemodbus的官方介绍和下载入口,官方仓库链接:https://github.com/cwalter-at/freemodbus modbus自己实现的话往往是有选择的支持几条指令,像断帧和异常处理可能是完全不处理的,用freemodbus实现的话要简单很多,可移植…

PR如何在一个视频里添加多个画面?多窗口画中画PR模板视频素材

Premiere Pro 2021模板,多窗口布局,多画面组合,小窗口视频,画中画视频效果制作素材PR模板mogrt文件。 4K、HD可调整到任何分辨率。 100多窗口布局样式。 来自PR模板网:https://prmuban.com/37059.html

深入了解pnpm:一种高效的包管理工具

✨专栏介绍 在当今数字化时代,Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序,就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术,以及各种框架、库和工具…

Unity | 渡鸦避难所-6 | 有限状态机控制角色行为逻辑

1 有限状态机简介 有限状态机(英语:finite-state machine,缩写:FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型 在游戏开发中应用有限状态机&#xff…