WEB APIS(DOM对象,操作元素内容,属性,表单属性,自定义属性,定时器)

js基础基本语法:
变量,数据类型,循环,函数,对象等(主要是控制台打印)


WEB APIS 操作DOM BOM :

控制网页元素,交互等各种网页交互效果

js高级 语法:

js新增语法,高级技巧等



web api

变量声明,优先const 。const声明的变量基本不再改变,要是再改变,再修改为let。

如果是为数组/对象添加或者删除一些元素,数组地址是不变的,数组也不变,还是那个数组,所以总体是不变的,可用const。但是为整个数组重新赋值的话,就改变了,需要使用let.

 

web api 作用和分类:

  • 作用:使用js去操作html和浏览器
  • 分类:DOM(文档对象模型),BOM(浏览器对象模型)

前边学过的alert和prompt就是BOM,不过已经先学了

DOM树:

 
例如div标签,在html中叫做html标签,在js中叫做DOM对象


获取DOM对象: 

css是通过选择器的方式获取,而js有自己的方式获取


注:页面标签都在document中
querySelector()括号中可以是标签,id,也可以是类名,但是都一定要记得加上引号

获取的是第一个


查询子标签中第一个:




获取所有元素然后以数组方式返回:




对象遍历使用for in ,该伪数组遍历使用for



其他获取DOM元素方法,因为不常使用了,所以作为了解即可

 

 操作元素内容:



innerText能获取标签里边的内容,也能修改标签里的内容,但是不能解析标签

 操作元素属性:


元素常用属性:例如img标签的title和src
对象.属性=值


元素样式属性:

对象.style.样式属性 = “新值”(新值一定要写单位)

当样式属性名中间用 - 连接,在修改时会报错,所以在修改时使用小驼峰命名法



操作类名(className)操作css:

如果想要修改所有元素样式,用style属性修改要一个一个样式敲很麻烦
所以直接新写一个class类选择器内容,将获取的DOM对象的className改为新的class类选择器名字



有两种情况:

一种是DOM对象没有类名,直接 div.className = 'box',直接使用新类名会覆盖以前的样式
另一种是DOM对象有类名,并且仍然还需要原类名选择器中的样式,那么就在新旧类名中间加个空格  div.className = 'box nav'


classList 操作类控制css:

使用DOM对象.className = '新类'  这样还需要去找是否有原来类,防止原来类样式被覆盖掉,所以比较麻烦。现在通过classList方式追加和删除类名

 操作表单元素属性:

input中 type属性值的变化

以及value值的变化



添加表单属性:

disabled是一个布尔属性,为true时表示禁用

<button disabled> 按钮 </button>

//在js中动态添加或者移除
const button = document.querySelector('button')
button.disabled = ture //禁用按钮
button.disabled = false  //启用按钮

checked是一个布尔属性,通常用于<input>元素,特别是type='checkbox' 或type='radio'。checked 属性表示复选框或单选框是否被选中。对于 checkbox 来说,它表示是否被选中,对于 radio 来说,它表示是否是当前选中的单选项
 

<input type="checkbox" checked> 我同意
<input type="radio" name="gender" checked>男

const checkbox = document.querySelector('input[type='checkbox']')
checkbox.checked = true  //选中复选框
checkbox.checked = false //取消选中复选框

select是一个方法,通常用于<select>元素,表示下拉框中的选项

select是一个DOM方法,用于选择<select>元素中的选项

法会将 <select> 元素的一个或多个 <option> 元素设置为选中状态

<select id="mySelect">
  <option value="1">选项1</option>
  <option value="2">选项2</option>
  <option value="3">选项3</option>
</select>
const selectElement = document.getElementById('mySelect');
selectElement.selectedIndex = 1; // 选择索引为1的选项(即选项2)



checked名和值一样则只简写一个

checked没有则是false

自定义属性: data-属性  开头

获取:对象.dataset.属性



querySelector 获取第一个对象

dataset属性集合

定时器 - 间歇函数:


(匿名函数大显身手)


(函数不用加小括号)


(非得加小括号那么就得加引号)





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

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

相关文章

cs144(一)

cs144(一) 1、osi 当应用程序有数据要发送时&#xff0c;应用层将数据交给传输层&#xff0c; 传输层负责将数据可靠或不可靠地传送到另外一端&#xff0c;传输层通过将数据交给网络层来发送数据 网络层负责将数据分成数据包&#xff0c;每个数据包都有正确的目的地址 最后…

IEC61850读服务器目录命令——GetServerDirectory介绍

IEC61850标准中的GetServerDirectory命令是变电站自动化系统中非常重要的一个功能&#xff0c;它主要用于读取服务器的目录信息&#xff0c;特别是服务器的逻辑设备节点&#xff08;LDevice&#xff09;信息。以下是对GetServerDirectory命令的详细介绍。 目录 一、命令功能 …

如何使用AWS Lambda构建一个云端工具(超详细)

首发地址&#xff08;欢迎大家访问&#xff09;&#xff1a;如何使用AWS Lambda构建一个云端工具&#xff08;超详细&#xff09; 1 前言 1.1 无服务器架构 无服务器架构&#xff08;Serverless Computing&#xff09;是一种云计算服务模型&#xff0c;它允许开发者构建和运行…

力扣-位运算-1【算法学习day.41】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…

MySQL数据库学习(持续更新ing)

1. 什么是数据库&#xff1f;什么是数据库管理系统&#xff1f;什么是SQL&#xff1f;他们之间的关系是什么&#xff1f; 数据库&#xff1a;Database&#xff0c; 简称DB。按照一定格式存储数据&#xff0c;一些文件的组合。 数据库管理系统&#xff1a;DataBaseManagement&…

【Python · PyTorch】循环神经网络 RNN(基础概念)

【Python PyTorch】循环神经网络 RNN&#xff08;基础概念&#xff09; 0. 生物学相似性1. 概念2. 延时神经网络&#xff08;TDNN&#xff09;3. 简单循环神经网络&#xff08;Simple RNN&#xff09;3.1 BiRNN 双向循环神经网络3.2 特点记忆性参数共享图灵完备 3.3 网络结构3…

【Isaac Sim】相关问题汇总

目录 一、安装点击Install时报错二、启动时报 Failed to create any GPU devices三、加载Isaac Sim自带模型或示例时报 Isaac Sim is not responding 一、安装点击Install时报错 报错&#xff1a; request to https://asset.launcher.omniverse.nvidia.com/… failed, reason:…

接口上传视频和oss直传视频到阿里云组件

接口视频上传 <template><div class"component-upload-video"><el-uploadclass"avatar-uploader":action"uploadImgUrl":on-progress"uploadVideoProcess":on-success"handleUploadSuccess":limit"lim…

DataWorks快速入门

DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大数据引擎&#xff0c;为数据仓库、数据湖、湖仓一体等解决方案提供统一的全链路大数据开发治理平台。本文以DataWorks的部分核心功能为例&#xff0c;指导您使用DataWorks接入数据并进行业务处理、周期调度以及数据…

项目学习:仿b站的视频网站项目03-注册功能

概括 通过上一期&#xff0c;完成了项目和数据库的基础结构的搭建&#xff0c;接下来主要是完成项目的注册功能。该功能模块主要分为有两个接口&#xff0c;一个是验证码接口&#xff0c;一个是注册接口。 让我们开始吧&#xff01; 验证码接口 验证码的生成主要配合下面这…

20.100ASK_T113-PRO 开发板开机自动QT程序简单的方法一

本文详细介绍了在嵌入式系统中实现程序开机自启动的多种方法&#xff0c;包括通过修改/etc/profile、/etc/rc.local文件&#xff0c;以及在/etc/init.d目录下创建启动脚本等方式。文章还解释了不同配置文件的作用及它们之间的区别。 开机自动启动QT应用程序 用户模式下的启动 …

【Java】Linux、Mac、Windows 安装 Oracle JDK

一、Linux 环境安装JDK 1、下载 根据实际需求&#xff0c;在 Oracle 官网 上下载某版本JDK&#xff08;如 jdk-8u341-linux-x64.tar.gz&#xff09;&#xff0c;再通过文件传输工具&#xff08;如 Finalshell、FileZilla 等&#xff09;丢到服务器上。 2、安装 # 查看是否安…

Web3与智能合约:区块链技术下的数字信任体系

随着互联网的不断发展&#xff0c;Web3代表着我们迈入了一个去中心化、更加安全和智能的网络时代。作为Web3的核心组成部分&#xff0c;区块链技术为智能合约的出现和发展提供了强有力的基础。智能合约不仅仅是自动化的代码&#xff0c;它们正逐步成为重塑数字世界信任体系的关…

怎么把湖南平江1000吨黄金开采出来?开采露天金矿的实用公式与方案——露天矿山爆破设计施工方案

在露天矿山爆破设计中&#xff0c;面对多溶洞、多破碎带和多断层的复杂地质条件&#xff0c;需要制定一套科学、合理的爆破方案。以下是一份详细的爆破设计施工方案&#xff0c;包括爆破参数与计算公式&#xff1a; 一、爆破设计原则 1.安全性&#xff1a;确保爆破作业过程中的…

电子应用设计方案-20:智能电冰箱系统方案设计

智能电冰箱系统方案设计 一、系统概述 本智能电冰箱系统旨在提供更便捷、高效、智能化的食品存储和管理解决方案&#xff0c;通过集成多种传感器、智能控制技术和联网功能&#xff0c;实现对冰箱内部环境的精确监测和控制&#xff0c;以及与用户的互动和远程管理。 二、系统组成…

栈的应用,力扣394.字符串解码力扣946.验证栈序列力扣429.N叉树的层序遍历力扣103.二叉树的锯齿形层序遍历

目录 力扣394.字符串解码 力扣946.验证栈序列 力扣429.N叉树的层序遍历 力扣103.二叉树的锯齿形层序遍历 力扣394.字符串解码 看见括号&#xff0c;由内而外&#xff0c;转向用栈解决。使用两个栈处理&#xff0c;一个用String,一个用Integer 遇到数字:提取数字放入到数字栈…

pandas与open读取csv/txt文件速度比较

pandas与open读取csv/txt文件速度比较 由于在工作中经常需要读取txt或csv文件&#xff0c;使用pandas与open均可以读取并操作文件内容&#xff0c;但不知道那个速度更快一些&#xff0c;所以写了一个脚本去比较在文件大小不同的情况下读取数据的速度 测试结果: 大小pandas速度…

039_SettingsGroup_in_Matlab图形界面的设置选项

只要你知道你自己正在做什么&#xff0c;那么你怎么做都行。—— C.J. DateMatlab的界面与设置 Matlab的界面 Matlab的界面是GUI设计中非常值得讨论的一个议题。先来看&#xff0c;默认的Matlab界面。 这里的界面从上到下分为了四个部分&#xff0c;分别是&#xff1a; 工具…

Flink-Source的使用

Data Sources 是什么呢&#xff1f;就字面意思其实就可以知道&#xff1a;数据来源。 Flink 做为一款流式计算框架&#xff0c;它可用来做批处理&#xff0c;也可以用来做流处理&#xff0c;这个 Data Sources 就是数据的来源地。 flink在批/流处理中常见的source主要有两大类…

.net的winfrom程序 窗体透明打开窗体时出现在屏幕右上角

窗体透明&#xff0c; 将Form的属性Opacity&#xff0c;由默认的100% 调整到 80%(尽量别低于50%)&#xff0c;这个数字越小越透明&#xff01; 打开窗体时出现在屏幕右上角 //构造函数 public frmCalendarList() {InitializeComponent();//打开窗体&#xff0c;窗体出现在屏幕…