Web APIs 1:基础介绍+DOM+定时器

Web APIs 1(基础介绍+DOM)

1.转变:变量声明const优先
  • 数组和对象尽量用const声明,当使用const 声明像数组、对象等引用型数据类型时,因为地址不变,所以里面的内容可以随意改变
2.API作用和分类
  • 作用:使用JS去操作html和浏览器
  • 分类:DOM(文档对象模型)、BOM(浏览器对象模型)
3.DOM介绍 : 通过JS操作网页内容
  • DOM树:将HTML文档以树状结构直观表现出来
  • DOM对象:浏览器根据html标签生成的JS对象
  • document对象:
    • 是DOM里提供的一个对象
    • 网页所有内容都在document中
    • 它的属性和方法都可以访问和操作页面内容
4.获取DOM对象
  • querySelector——根据CSS选择器获取单个DOM元素,可以直接修改样式

     document.querySelector('css选择器')
    
  • querySelectorAll——获取多个元素,获取过来的是伪数组,不能直接修改样式,要修改要进行遍历,没有pop、push等数组方法

     const li = document.querySelectorAll('ul li')
    
  • 其他获取DOM元素的方法(了解即可)

    • document.getElementById(‘’)
    • document.getElementsByTagName(‘’)
    • document.getElementsByClassName(‘’)
5.操作元素内容
  • 对象.innerText属性:修改元素内容(不解析标签)

     const box = document.querySelector('div')
     box.innerText = '修改后的文字内容'
    
  • 对象.innerHTML(解析标签)——常用

     const nav = document.querySelector('#nav')
     nav.innerHTML = '<strong>修改后的文字内容</strong>'
    
6.操作元素属性
  • 常用属性修改:对象.属性=值

    <body>
      <img src="../csdn.jpg" alt="">
      <script>
        const img = document.querySelector('img')
        img.src = '../csdn图片.jpg'
        img.title = '我的图片' //鼠标悬浮显示对该图片的描述
      </script>
    </body>
    
  • 元素样式属性

    • 通过style属性操作CSS——对象名.style.属性名=值

      注意用“-”隔开的属性名要变换为小驼峰命名法

    <style>
        .box {
          width: 200px;
          height: 200px;
          background-color: pink;
        }
      </style>
    </head>
    
    <body>
      <div class="box"></div>
      <script>
        const box = document.querySelector('.box')
        box.style.width = '400px'
        //多组即使用“-”隔开的单词变换为小驼峰命名法
        box.style.backgroundColor = 'green'
        box.style.border = '2px solid blue'
        box.style.borderTop = '2px solid red'
      </script>
    </body>
    
    • 通过类名操作CSS——修改样式较多
     <style>
        div {
          width: 200px;
          height: 200px;
          background-color: pink;
        }
        .box {
          width: 400px;
          height: 600px;
          background-color: aqua;
          margin: 100px auto;
          padding: 10px;
          border: 1px solid greenyellow;
        }
      </style>
    </head>
    
    <body>
      <div></div>
      <script>
        const div = document.querySelector('div')
        //添加类名,如果本身有类名会覆盖掉原来的 要保留原来的在这里就也要加上 添加多个类名用空格隔开就行
        div.className = 'box'
      </script>
    </body>
    
    • 通过classList操作类控制CSS(常用)

      上面的使用类名className要返回去确认是否本身有类名,容易覆盖掉原来的类名

     //追加类名 
      元素.classList.add('类名')
     //删除类名
      元素.classList.remove('类名')
     //切换类名 有还是没有,有就删除没有就加上
      元素.classList.toggle('类名')
    
  • 表单元素属性

    <body>
      <input type="text" value="电脑">
      <input class="check" type="checkbox" name="" id="">
      <button>点击</button>
      <script>
        //获取元素
        const uname = document.querySelector('input')
        //获取表单的值  用表单.value 而不是.innerHTML
        console.log(uname.value)
        uname.value = "换个名字"
        uname.type = "password"
        //设置复选框不选中
        const check = document.querySelector('.check')
        check.checked = false
        //设置按钮禁用,即无法点击
        bt = document.querySelector('button')
        bt.disabled = true
      </script>
    </body>
    
  • 自定义属性

    • 标签一律以data-开头,在DOM对象一律以dataset对象方式获取
    <body>
      <div data-id="1" data-pp="next自定义属性">1</div>
      <div data-id="2">2</div>
      <div data-id="3">3</div>
      <div data-id="4">4</div>
      <div data-id="5">5</div>
      <script>
        const one = document.querySelector('div')
        //会拿到第一个div的两个自定义属性组成的对象
        console.log(one.dataset)
        console.log(one.dataset.id) //1
        console.log(one.dataset.pp) //next自定义属性
      </script>
    </body>
    
7.定时器——间歇函数
  • 开启定时器(间隔时间单位为ms)

    • setInterval(函数名,间隔时间)
    <script>
        setInterval(function () {
          document.write('1秒执行一次')
        }, 1000)
    </script>
    
  • 关闭定时器

    • let 定时器编号 =setInterval(函数名,间隔时间)
    • clearInterval(定时器编号)
     //返回ID号,每个定时器都是独一无二的
        let n = setInterval(function () {
          document.write('1m执行一次')
        }, 1000)
        console.log(n) //查询定时器的编号
        clearInterval(n)
    

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

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

相关文章

JavaEE: 深入探索TCP网络编程的奇妙世界(二)

文章目录 TCP核心机制TCP核心机制二: 超时重传为啥会丢包?TCP如何对抗丢包?超时重传的时间设定超时时间该如何确定? TCP核心机制 书接上文~ TCP核心机制二: 超时重传 在网络传输中,并不会一帆风顺,而是可能出现"丢包情况"~ 为啥会丢包? 产生丢包的原因有很多…

倒序循环(一)

题目描述 输入一个正整数n&#xff0c;输出从 n~ 1 递减的序列。 输入格式 一行一个整数 n 输出格式 n 行&#xff0c;每行一个符合题目要求的整数 样例数据 样例输入#1 5样例输出#1 5 4 3 2 1样例输入#2 6样例输出#2 6 5 4 3 2 1数据范围 对于100%的数据&#xff…

C语言浮点型数据在内存中的存储(23)

文章目录 前言一、浮点数在内存中的存储练习引入浮点数的存储浮点数存的过程 二、浮点数取的过程E不全为0或不全为1E全为0E全为1 三、再回顾练习总结 前言 哎&#xff0c;之前写了一篇&#xff0c;可是中途退出没保存&#xff0c;只能再写一遍了~   浮点数在内存中的存储跟整…

python线程(python threading模块、python多线程)(守护线程与非守护线程)

文章目录 Python多线程入门1. Python多线程概述2. threading模块基础- Thread 类: 这是一个代表线程的类。可以通过创建Thread类的实例来新建一个线程。- Lock 类: 在多线程环境中&#xff0c;为了防止数据错乱&#xff0c;通常需要用到锁机制。Lock类提供了基本的锁功能&#…

ArcGIS10.2/10.6安装包下载与安装(附详细安装步骤)

相信从事地理专业的小伙伴来说&#xff0c;应该对今天的标题不会陌生。Arcgis是一款很常用的地理信息系统软件&#xff0c;主要用于地理数据的采集、管理、分析和展示。目前比较常见的版本有ArcGIS 10.2和ArcGIS 10.6。 不可否认&#xff0c;Arcgis具有强大的地图制作、空间分…

第4步CentOS配置SSH服务用SSH终端XShell等连接方便文件上传或其它操作

宿主机的VM安装CENTOS文件无法快速上传&#xff0c;也不方便输入命令行&#xff0c;用SSH终端xshell连接虚拟机的SSH工具就方便多了&#xff0c;实现VM所在宿主机Win10上的xshell能连接vm的centos要实现以下几个环节 1、确保宿主机与虚拟机的连通性。 2、虚拟机安装SSH服务&…

针对Docker容器的可视化管理工具—DockerUI

目录 ⛳️推荐 前言 1. 安装部署DockerUI 2. 安装cpolar内网穿透 3. 配置DockerUI公网访问地址 4. 公网远程访问DockerUI 5. 固定DockerUI公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下…

AJAX(一)HTTP协议(请求响应报文),AJAX发送请求,请求问题处理

文章目录 一、AJAX二、HTTP协议1. 请求报文2. 响应报文 三、AJAX案例准备1. 安装node2. Express搭建服务器3. 安装nodemon实现自动重启 四、AJAX发送请求1. GET请求2. POST请求(1) 配置请求体(2) 配置请求头 3. 响应JSON数据的两种方式(1) 手动&#xff0c;JSON.parse()(2) 设置…

毕业设计选题:基于ssm+vue+uniapp的校园商铺系统小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

分发饼干00

题目链接 分发饼干 题目描述 注意点 1 < g[i], s[j] < 2^31 - 1目标是满足尽可能多的孩子&#xff0c;并输出这个最大数值 解答思路 可以先将饼干和孩子的胃口都按升序进行排序&#xff0c;随后根据双指针 贪心&#xff0c;将当前满足孩子胃口的最小饼干分配给该孩…

旋转矩阵乘法,自动驾驶中的点及坐标系变换推导

目录 1. 矩阵乘法的内项相消 2. 左右乘&#xff0c;内外旋与动静坐标系 3. 点变换 3.1 点旋转后的点坐标表示 3.2 坐标系旋转后的点坐标表示 4. 坐标变换的实质 1. 矩阵乘法的内项相消 关于旋转变换&#xff0c;离不开矩阵的乘法&#xff0c;而矩阵乘法的物理意义和本身数…

[Linux#55][网络协议] 序列化与反序列化 | TcpCalculate为例

目录 1. 理解协议 1.1 结构化数据的传输 序列化与反序列化 代码感知&#xff1a; Request 类 1. 构造函数 2. 序列化函数&#xff1a;Serialize() 3. 反序列化函数&#xff1a;DeSerialize() 补充 4. 成员变量 Response 类 1. 构造函数 2. 序列化函数&#xff1a;…

【软件基础知识】什么是 API,详细解读

想象一下,你正在使用智能手机上的天气应用。你打开应用,瞬间就能看到实时天气、未来预报,甚至是空气质量指数。但你有没有想过,这些数据是如何神奇地出现在你的屏幕上的?答案就在三个字母中:API。 API,全称Application Programming Interface(应用程序编程接口),是现代软件世…

MYSQL面试知识点手册

第一部分&#xff1a;MySQL 基础知识 1.1 MySQL 简介 MySQL 是世界上最流行的开源关系型数据库管理系统之一&#xff0c;它以性能卓越、稳定可靠和易用性而闻名。MySQL 主要应用在 Web 开发、大型互联网公司、企业级应用等场景&#xff0c;且广泛用于构建高并发、高可用的数据…

工程师 - PFM介绍

在电子电路设计中&#xff0c;PFM&#xff08;Pulse Frequency Modulation&#xff0c;脉冲频率调制&#xff09;是一种调制技术&#xff0c;其主要特点是在负载变化时调整脉冲的频率&#xff0c;而保持脉冲的宽度&#xff08;时间长度&#xff09;相对恒定。与PWM&#xff08;…

记忆化搜索专题——算法简介力扣实战应用

目录 1、记忆化搜索算法简介 1.1 什么是记忆化搜索 1.2 如何实现记忆化搜索 1.3 记忆化搜索与动态规划的区别 2、算法应用【leetcode】 2.1 题一&#xff1a;斐波那契数 2.1.1 递归暴搜解法代码 2.1.2 记忆化搜索解法代码 2.1.3 动态规划解法代码 2.2 题二&#xff1…

Transformer预测 | 基于Transformer心率时间序列预测(tensorflow)

效果一览 基本介绍 Transformer预测 | 基于Transformer心率时间序列预测(tensorflow) 程序设计 import pandas as pd from pandas.plotting import lag_plot from statsmodels.graphics

加密与安全_优雅存储二要素(AES-256-GCM )

文章目录 什么是二要素如何保护二要素&#xff08;姓名和身份证&#xff09;加密算法分类场景选择算法选择AES - ECB 模式 (不推荐)AES - CBC 模式GCM&#xff08;Galois/Counter Mode&#xff09;AES-256-GCM简介AES-256-GCM工作原理安全优势 应用场景其他模式 和 敏感数据加密…

AIoT智能工控板

在当今竞争激烈的商业环境中&#xff0c;企业需要强大的科技力量来助力腾飞&#xff0c;AIoT智能工控板就是这样的力量源泉。 其领先的芯片架构设计&#xff0c;使得主板的性能得到了极大的提升。无论是数据的处理速度、图形的渲染能力&#xff0c;还是多任务的并行处理能力&a…

Ceph官方文档_01_Ceph简介

目录 Ceph介绍Ceph介绍 Ceph可用于向云平台提供Ceph对象存储,Ceph可用于向云平台提供Ceph块设备服务。Ceph可用于部署Ceph文件系统。所有Ceph存储群集部署开始都是先设置每个Ceph节点,然后再设置网络。 Ceph存储集群需要以下内容:至少一个Ceph监视器和至少一个Ceph管理器,…