【剧前爆米花--前端三剑客】JavaScript(WebAPI)中的相关方法和实例

news2024/10/7 18:24:39

作者:困了电视剧

专栏:《JavaEE初阶》

文章分布:这是一篇关于JavaScript(WebAPI)的文章,在这篇文章中我会简单介绍一些常用的js方法,并给出他们的应用实例,希望对你有所帮助!

 

目录

什么是WebAPI

DOM的基本概念

什么是DOM

DOM树

事件初识

基本概念

事件三要素

获取元素

querySelector

querySelectorAll

操作元素

innerText

innerHTML

操作节点

新增节点

举个栗子 


什么是WebAPI

我们学习的JavaScript主要分为三个大的部分:

ECMAScript: 基础语法部分
DOM API: 操作页面结构
BOM API: 操作浏览器

JavaScript的基础语法主要学的是ECMAScript,这是基本的编程思维,但是当我们真正来写一个更加复杂的有交互式的页面,还需要 WebAPI 的支持。

DOM的基本概念

什么是DOM

DOM 全称为 Document Object Model.
W3C 标准给我们提供了一系列的函数, 让我们可以操作:网页内容,网页结构,网页样式。

DOM树

一个页面的结构是一个树形结构,成为DOM树

 文档: 一个页面就是一个 文档, 使用 document 表示.
元素: 页面中所有的标签都称为 元素. 使用 element 表示.
节点: 网页中所有的内容都可以称为 节点(标签节点, 注释节点, 文本节点, 属性节点等). 使用 node表示

事件初识

基本概念

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

事件三要素

1. 事件源: 哪个元素触发的
2. 事件类型: 是点击, 选中, 还是修改?
3. 事件处理程序: 进一步如何处理. 往往是一个回调函数——这个函数不需要程序猿主动来调用,而是交给浏览器,由浏览器自动在合适的时机(出发点击操作时)进行调用。

获取元素

querySelector

前面的几种方式获取元素的时候都比较麻烦. 而使用 querySelector 能够完全复用 CSS 选择器知识, 达到更快捷更精准的方式获取到元素对象

selectors 包含一个或多个要匹配的选择器的 DOM字符串 DOMString 。 该字符串必须是有效的CSS选择器字符串;如果不是,则引发 SYNTAX_ERR 异常
表示文档中与指定的一组CSS选择器匹配的第一个元素的 html元素 Element 对象.
如果您需要与指定选择器匹配的所有元素的列表,则应该使用 querySelectorAll()可以在任何元素上调用,不仅仅是 document。 调用这个方法的元素将作为本次查找的根元素

querySelectorAll

querySelectorAll和querySelector类似,只是其会拿出与指定选择器匹配的所有元素的列表。

操作元素

innerText

Element.innerText 属性表示一个节点及其后代的“渲染”文本内容

innerHTML

Element.innerHTML 属性设置或获取HTML语法表示的元素的后代

操作节点

新增节点

新增一个节点,即在页面中新增加一个元素分为两个步骤:

1. 创建元素节点
2. 把元素节点插入到 dom 树中

只有完成这两步,我们才能在网页上看到我们新增的元素。 

举个栗子 

        // 实现提交操作. 点击提交按钮, 就能够把用户输入的内容提交到页面上显示.
        // 点击的时候, 获取到三个输入框中的文本内容
        // 创建一个新的 div.row 把内容构造到这个 div 中即可.
        
        let containerDiv = document.querySelector('.container');
        let inputs = document.querySelectorAll('input');
        let button = document.querySelector('#submit');
        button.onclick = function() {
            // 1. 获取到三个输入框的内容
            let from = inputs[0].value;
            let to = inputs[1].value;
            let msg = inputs[2].value;
            if (from == '' || to == '' || msg == '') {
                return;
            }
            // 2. 构造新 div
            let rowDiv = document.createElement('div');
            rowDiv.className = 'row message';
            rowDiv.innerHTML = from + ' 对 ' + to + ' 说: ' + msg;
            containerDiv.appendChild(rowDiv);
            // 3. 清空之前的输入框内容
            for (let input of inputs) {
                input.value = '';
            }

这是一个很简易的“信息墙”的代码片段,后面的博客中我会全部开源。

这一步是获取元素:

这是一个回调函数,当我点击按钮时,他会做这些步骤:

首先先是将各个输入框中的内容给取出来并判断正确性。 

 

取出正确的数据后我们就需要构造新的元素,来讲这些内容添加进去,构造元素的两步一步都不能少。 

以上就是本篇博客的全部内容,如有疏漏欢迎指正!

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

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

相关文章

代码随想录day2 | 977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II

文章目录 一、977.有序数组的平方二、209.长度最小的子数组三、59.螺旋矩阵II 一、977.有序数组的平方 977.有序数组的平方 暴力法&#xff1a;O(NlogN) 先所有数字平方&#xff0c;然后再快排&#xff0c;时间复杂度取决于快排 class Solution { public:vector<int> s…

Openlayers实战:加载天地图

国家地理信息公共服务平台“天地图”(以下简称“天地图“)是国家基础地理信息中心建设的网络化地理信息共享与服务门户。 其属于国家队的,有一定的权威性。 在Openlayers中如何加载天地图呢,方法很简单,用XYZ的形式。 它分为底图和标注,可以灵活的做配合使用。 效果图 源…

java学习路程之篇三、知识点、类、模块、项目、操作、下载、安装、IDEA

文章目录 1、IDEA开发工具2、IDEA的下载和安装3、IDEA中的第一个代码4、IDEAZ中的类、模块、项目的操作 1、IDEA开发工具 2、IDEA的下载和安装 3、IDEA中的第一个代码 4、IDEAZ中的类、模块、项目的操作

PX4实战 各种问题的参数调整解决方案

桨叶旋转频率引起的噪声 比较好的震动 不好的震动 一般好的振动特性时&#xff0c;三轴加速度的原始数据值都会在很小的范围内波动&#xff0c;在3范围内就是非常好的振动环境了。 分析飞行器的幅频特性&#xff0c;一方面除了查看飞行器的振动特性好坏&#xff0c;另一方面…

技术架构的演进-八大架构

目录&#xff1a; 常见概念评价指标单机架构应用数据分离架构应用服务集群架构读写分离 / 主从分离架构引入缓存 —— 冷热分离架构垂直分库业务拆分 —— 微服务容器化引入——容器编排架构总结 1.常见概念&#xff1a; 应用&#xff08;Application&#xff09; / 系统&am…

安卓日志~

文章目录 bugreport获取报告设备模拟器adb命令用户 报告目录 阅读错误报告logcat定义日志记录抓取日志过滤优先级输出格式格式修饰符日志缓冲区 ANR触发ANR避免ANR工作线程 ANR日志定位无响应应用查看堆栈跟踪 死锁 activity内存内存不足内存快照 广播显示器争用后台编译叙述电…

linux终端前面显示base和不显示base

问题描述&#xff1a;前提是系统里装了anaconda3&#xff0c;有时候两个服务器之间相连长时间没使用或者访问时候前面没显示base。。 解决&#xff1a;我们在做深度学习时需要一个环境&#xff0c;如果前面没显示base的话&#xff0c;你直接conda activate是激活不了我们需要跑…

QT打开和保存文件对话框的操作笔记

QT打开和保存文件对话框的操作&#xff0c;需要先包含头文件QFileDialog&#xff0c;一般通过按钮实现打开和保存文件对话框的操作。 代码如下&#xff1a; #include <QDebug> #include <QFileDialog>void Form::on_pushButton_clicked() {QString fileName;fileN…

基于Javaweb实现ATM机系统开发实战(八)实时查询余额功能实现

老规矩&#xff0c;先看前端页面&#xff0c;把前端页面上没有的表达式都删掉&#xff1a; 创建servlet接受和处理请求&#xff1a; package com.atm.servlet;import com.atm.pojo.User; import com.atm.service.UserService; import com.atm.service.impl.UserServiceImpl;im…

HarmonyOS元服务开发

一、什么是HarmonyOS系统 HarmonyOS是华为开发的一款面向未来的全场景分布式智慧操作系统&#xff0c;将逐步覆盖18N全场景终端设备&#xff0c;用一个软件系统解决大量智能终端体验割裂的问题 1&#xff1a;智能手机 …

Freertos任务的管理是何物?

Freertos任务的管理 提示&#xff1a;文章来自正点原子和野火 文章目录 Freertos任务的管理前言一、任务的四种状态二、 四种状态的关系图三、函数vTaskSuspend();挂起vTaskResume() ;解挂函数 四、代码示例总结 前言 使用Freertos&#xff0c;创建任务&#xff0c;运行任务&a…

【1】Spring手写模拟-ApplicationContext获取对象

ApplicationContext获取对象 阶段目标 当前阶段任务&#xff0c;实现ApplicationContext 加载配置文件&#xff0c;实现对配置的包扫描&#xff0c;获取其字节码文件&#xff0c;查看是否包含注需要Spring管理&#xff0c;以及实现单例或者多例获取Bean对象 实现配置文件con…

实现虚拟机(VM15.5.0)与本机相互通信

目录 1、如果虚拟机一打开请先关机 2、进入“控制面板”-“网络和Internet”-“网络连接”&#xff0c;可以看到有两个虚拟网口&#xff0c;关闭虚拟网口VMnet1和VMnet8&#xff0c;如图所示&#xff1a; 3、选择需要通信的虚拟机&#xff0c;点击“编辑虚拟机设置”&#x…

力扣刷题 - 数组篇

这里写目录标题 数组的遍历485495414628 统计数组中的元素64569744844241数组的改变与移动453665---283 二维数组以及滚动数组118119661419--- 数组的旋转189396 特定顺序遍历二维数组5459498 二维数组的变换5664873--- 前缀和数组303238506 数组的遍历 485 https://leetcode.…

【HCIA】07.OSPF

动态路由的协议分类 按工作区域分&#xff1a; IGP&#xff08;内部网关协议 interior gateway protocols&#xff09;&#xff1a;OSPF、IS-IS、RIPEGP&#xff08;外部网关协议 exterior gateway protocols&#xff09;&#xff1a;BGP 按工作机制及算法分类&#xff1a; 距离…

机器学习(12)--K-Means

目录 一、聚类 二、机器学习中的距离 三、sklearn中的聚类算法 四、KMeans簇内平方和和时间复杂度 五、sklearn中的KMeans 1、建立一个数据集 2、使用K-Means进行聚类操作 3、根据上面的模型绘散点图观察分类效果。 4、评估指标 4.1对于真实标签已知情况 4.2当真实标…

[RocketMQ] Broker 消息重放服务源码解析 (十三)

构建消息文件ConsumeQueue和IndexFile。 ConsumeQueue: 看作是CommitLog的消息偏移量索引文件, 存储了它所属Topic的消息在Commit Log中的偏移量。消费者拉取消息的时候, 可以从Consume Queue中快速的根据偏移量定位消息在Commit Log中的位置。IndexFile索引文件: 看作是Commi…

【bash:xxx:command not found问题,在英伟达nvidia的jetson-orin-nx上遇到的>>>解决方式之一】

【bash:xxx:command not found问题,在英伟达nvidia的jetson-orin-nx上遇到的>>>解决方式之一】 1、概述2、实验环境3、问题描述&#xff1a;bash:xxx:command not found问题4、我的努力第一种方式&#xff1a;加入指令方式第二种方式&#xff1a;使用echo $PATH命令查…

设计模式(七)-----桥接模式(Bridge Pattern)

目录 什么是桥接模式优点缺点应用场景 基本结构业务场景不使用模式的解决方案实现发送普通消息实现发送加急消息实现发送特急消息添加发送手机消息的处理方式 使用桥梁模式来解决问题 什么是桥接模式 将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变…

Es直方图聚合--date_histogram

文章目录 1、背景2、bucket_key如何计算3、前置知识4、日历和固定时间间隔 4.1 Calendar intervals 日历间隔4.2 Fixed intervals 固定间隔 5、数据准备 5.1 准备mapping5.2 准备数据 6、聚合案例 6.1 dsl6.2 java代码6.3 聚合结果 7、完整代码8、参考文档 1、背景 此处来简单学…