Web APIs--Dom获取属性操作

目录

1.DOM(操作网页内容、用户交互)

2.DOM对象获取(querySelect(‘’)、querySelectAll(‘’))

总结:

3.操作元素内容(修改元素的文本更换内容)

1. 元素innerText 属性

2.元素.innerHTML 属性

3.总结

4.操作元素属性

1.常用属性(href、title、src 等)

2.操作元素样式属性(轮播图)

(通过 style 、通过操作类名(className) 、 通过 classList 操作类控制CSS)

3. 操作表单元素 属性

4.自定义

5.定时器(间歇函数)

1.定时器函数可以开启(setInterval(函数,间隔时间))

2.定时器函数可以关闭(clearInterval(id编号))

6.案例(用户阅读60s才可以点确认)


1. 有了变量先给const,如果发现它后面是要被修改的,再改为let
2.为什么const声明的对象可以修改里面的属性?
因为对象是引用类型,里面存储的是地址,只要地址不变,就不会报错
建议数组和对象使用 const 来声明
3.什么时候使用let声明变量?
如果基本数据类型的值或者引用类型的地址发生变化的时候,需要用let
比如 一个变量进行加减运算,比如 for循环中的 i++
作用: 就是使用 JS 去操作 html 和浏览器
分类: DOM (文档对象模型)、 BOM (浏览器对象模型)

1.DOM(操作网页内容、用户交互)

DOM:用来呈现以及与任意 HTML 或 XML文档交互的API
(DOM是浏览器提供的一套专门用来 操作网页内容 的功能) (开发网页内容特效和实现用户交互)
DOM树:将 HTML 文档以树状结构直观的表现出来 (描述网页内容关系的名词)
作用: 文档树直观的体现了标签与标签之间的关系
DOM对象:( 浏览器根据html标签生成的 JS对象(DOM对象)
标签属性和对象一一对应,相互作用 ------ 核心思想(把网页内容当做对象来处理
document 对象 是 DOM 里提供的一个 对象 , 它提供的属性和方法都是 用来访问和操作网页内容的
  例:document.write()  网页所有内容都在document里面



2.DOM对象获取(querySelect(‘’)、querySelectAll(‘’)

1.匹配第一个元素(没有匹配到,返回null)
2. 选择匹配的多个元素(返回: CSS选择器匹配的 NodeList 对象集合
哪怕只有一个元素,通过querySelectAll() 获取过来的也是一个 伪数组 ,里面只有一个元素而已

总结:

3.操作元素内容(修改元素的文本更换内容

DOM对象都是根据标签生成的,所以操作标签,本质上就是操作DOM对象。

方法:1. 对象.innerText 属性   2. 对象.innerHTML 属性

1. 元素innerText 属性

将文本内容添加/更新到任意标签位置
显示纯文本, 不解析标签

2.元素.innerHTML 属性

将文本内容添加/更新到任意标签位置
会解析标签 ,多标签建议使用模板字符

3.总结

4.操作元素属性

1.常用属性(href、title、src 等

2.操作元素样式属性(轮播图)

通过 style 、通过操作类名(className) 、 通过 classList 操作类控制CSS

修改的样式比较多,通过style属性修改比较繁琐,可以通过借助于css类名的形式(className)
为了解决className 容易覆盖以前的类名,我们可以通过classList方式追加和删除类名

3. 操作表单元素 属性

表单属性中添加就有效果,移除就没有效果,一律使用布尔值表示 如果为true 代表添加了该属性 如果是false 代 表移除了该属性( 比如: disabled、checked、selected)
ipt. checked=true//勾选
button. disabled=true//禁用

4.自定义

5.定时器(间歇函数)

目标:能够说出定时器函数在开发中的使用场景
网页中经常需要一种功能:每隔一段时间需要 自动 执行一段代码,不需要手动去触发(定时器)
setInterval(函数,间隔时间)

每个一段时间调用这个函数(单位,毫秒)

1.定时器函数可以开启(setInterval(函数,间隔时间))

setInterval(function(){//写匿名函数
   console.log(‘一秒执行一次’)
},1000)//一秒1000毫秒,时间可以自定义
//不写匿名函数
function fn(){
    console.log('一秒执行一次')
}

setInterval(fn,1000)//setInterval(函数,间隔时间)
setInterval(fn(),1000)//不要这样写
setInterval('fn()',1000)//可以执行,不建议写

2.定时器函数可以关闭(clearInterval(id编号))

每个定时器有自己的编号(防止互相干扰)

定时器返回的是id数字(每个定时器都是独一无二的)

实际用时,是比如,鼠标经过开,鼠标离开关

let n = setInterval(fn,1000)//用let
console.log(n)//打印id编号
clearInterval(n)//关闭这个编号的定时器,不会影响其他的

关了以后再开.   重新赋值,不要用const

n = setInterval(fn,1000)

6.案例(用户阅读60s才可以点确认)

1.先把按钮禁用(disabled)

<button class ='btn' disabled>我已经阅读用户协议(60)</button>

2.获取元素

const btn = document.querySelector(.'btn')

3.倒计时

//倒计时
let i =5
//开启定时器
let n= setInterval(function(){
   i--
   btn.innerHTML=`我已经阅读用户协议(${i})`
   if(i==0){
     clearInterval(n)//关闭定时器
     //定时器停了,按钮就可以开了
     btn.disabled=false
     btn.innerHTML='同意'
}
},1000)

2.3写在<scritpe>里头

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

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

相关文章

代码随想录算法训练营第四十一天| 416. 分割等和子集

416. 分割等和子集 - 力扣&#xff08;LeetCode&#xff09; class Solution {public boolean canPartition(int[] nums) {int sum 0;for (int i0;i<nums.length;i){sum nums[i];}if(sum%2!0){return false;}int weight sum /2;// int[][] dp new int[nums.length][weig…

VirtualBox虚拟机下安装Ubuntu24.04操作系统

目录 0 背景1 虚拟机的安装1.1 下载安装包1.2 走安装向导 2 操作系统的安装2.1 下载光盘镜像文件2.2 安装操作系统到虚拟机上 3 基本配置3.1 网络连接方式3.2 共享文件夹3.3 设置显存大小 0 背景 首先说说Ubuntu系统&#xff0c;或者更普遍一点&#xff0c;Linux系统究竟有什么…

自定义模板DIY专属CSDN个人主页!HTML+CSS个性化全攻略

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 &#x1f4af;如何通过HTMLCSS自定义模板diy出自己的个性化csdn主页&#x…

手机usb共享网络电脑没反应的方法

适用于win10电脑&#xff0c;安卓手机上可以 开启usb网络共享选择&#xff0c;如果选择后一直跳&#xff0c;让重复选择usb选项的话&#xff0c;就开启 开发者模式&#xff0c;进到 开发者模式 里设置 默认usb 共享网络 选项 &#xff0c;就不会一直跳让你选。 1.先用数据线 连…

Redis—String数据类型及其常用命令详解

文章目录 Redis概述1.Redis-String数据类型概述2.常用命令2.1 SET&#xff1a;添加或者修改已经存在的一个String类型的键值对2.2 GET&#xff1a;根据key获取String类型的value2.3 MSET&#xff1a;批量添加多个String类型的键值对2.4 MGET&#xff1a;根据多个key获取多个Str…

WPF——Binding

一、作用 将Window GUI的运行机理从 “事件驱动” 转变为 “数据驱动”。将UI界面与业务逻辑解耦&#xff0c;使得改动一个而无需改动另一个。数据逻辑层自成体系&#xff0c;使得无需借助UI也可进行单元测试。 二、基础 1. Binding源模板 Binding包括源与目标&#xff0c;源…

C语言变量、指针的内存关系

1. type p ? 表示从内存地址p开始&#xff0c;开辟一段内存&#xff0c;内存大小为类型type规定的字节数&#xff0c;然后把等号右边的值写入到这段内存中。 因此&#xff0c;这块内存起点位置是p&#xff0c;结束是ptype字节数-1。 2. type* p ?表示从内存地址p开始&…

DWG转PDF字体研究记录

1.前言 最近需要对PDF中的符合业务规则的文字进行提取&#xff0c;发现有些文字不是文字信息形式存储&#xff0c;而是polyline形式表达&#xff0c;意味着仅仅有形体上的表达&#xff0c;丢失了原本的文字信息。 经过沟通得知&#xff0c;这些PDF是AutoCAD软件导出的&#xf…

SpringMvc—域对象共享数据和视图

一、向request域创建对象 先创建首页&#xff1a; 在testController这个类中&#xff1a; package com.pon.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; Controller public class test…

BirdTalk IM集群中消息流转策略讨论

BirdTalk IM集群中消息流转策略讨论 目前群聊的存储策略是1写多读方案&#xff1b;每个群组一个队列&#xff0c;按时间顺序排列&#xff0c;不区分用户&#xff1b; 私聊的存储是写扩散的&#xff0c;每个人都有自己的消息队列&#xff0c;按时间顺序 保存所有的消息&#x…

贴图大师(Model Painter) 下载使用

贴图大师(Model Painter)是一款是一款专业的纹理贴图工具&#xff0c;支持激光扫描的数据模型和通过摄影测量建模的模型&#xff0c;功能强大&#xff0c;操作简单。 贴图大师是一款专门解决三维建模数字化中纹理编辑和优化的软件工具。贴图大师的输入模型可以支持激光扫描的数…

HarmonyOS角落里的知识:一杯冰美式的时间 -- 之打字机

一、前言 模拟编辑器或者模拟输入框中文字啪啦啪啦输入的效果&#xff0c;往往能够吸引人们的眼球&#xff0c;让用户的注意力聚焦在输入的内容上&#xff0c;本文将和大家探讨打字机效果的实现方式以及应用。Demo基于API12。 二、思路 拆分开来很简单&#xff0c;将字符串拆…

SAP PP学习笔记23 - 生产订单(制造指图)的元素2 - 决济规则(结算规则)

上一章讲了生产订单&#xff08;制造指图&#xff09;画面的基本元素。 SAP PP学习笔记22 - 生产订单&#xff08;制造指图&#xff09;的元素1-CSDN博客 本章继续讲生产订单上面的其他元素。 1&#xff0c;Settlement rule&#xff08;决济规则(结算规则)&#xff09;概要 M…

2024-6-20 Windows AndroidStudio SDK(首次加载)基础配置,SDK选项无法勾选,以及下载失败的一些解决方法

2024-6-20 Windows AndroidStudio SDK(首次加载)基础配置,SDK选项无法勾选,以及下载失败的一些解决方法 注意:仅仅是SDK这种刚安装时的配置的下载,不要和开源库的镜像源扯到一起&#xff01;&#xff01;&#xff01;&#xff01; 最近想玩AndroidStudio的JNI开发, 想着安装后…

02_02_SpringMVC基于注解的应用

一、请求处理 1、常用注解 RequestMapping 作用&#xff1a;用来匹配客户端发送的请求&#xff08;用来处理URL映射&#xff0c;将请求映射到处理方法中&#xff09;&#xff0c;可以在类或者方法上使用。 用在类上&#xff0c;可以将请求模块化&#xff0c;避免请求方法中的…

Linux命令的进程关系

一、shell简述 shell是一个命令行解释器工具&#xff0c;它是一个时刻都在运行的程序&#xff0c;当我们在命令行输入命令&#xff0c;shell会去解释执行这个命令。 shell这个工具不止一种&#xff0c;我们使用Linux系统的时候&#xff0c;默认启动的shell 是/etc/passwd 这个…

超级好用的JSON格式化可视化在线工具

JSON是开发非常常用的一种报文格式&#xff0c;最常见的需求就是将JSON进行格式化&#xff0c;最好是有图形化界面显示结构关系&#xff0c;以便进行数据分析。 理想的在线JSON工具&#xff0c;应该支持快速格式化、可压缩、快捷复制、可下载导出&#xff0c;对存在语法错误的地…

【五】【QT开发应用】C++中lambda表达式,值捕获,引用捕获,隐式捕获,lambda表达式的返回类型

Lambda表达式 复盘 Lambda表达式 Lambda 表达式是 C11 引入的一种特性&#xff0c;用于定义匿名函数。它使得可以在代码中方便地定义和使用小段函数&#xff0c;而无需专门定义一个命名的函数。这在需要传递函数作为参数或者需要定义内联函数时非常有用。 基本语法 基本语法…

Apple - Core Text Programming Guide

本文翻译整理自&#xff1a;Core Text Programming Guide&#xff08;Updated: 2014-09-17 https://developer.apple.com/library/archive/documentation/StringsTextFonts/Conceptual/CoreText_Programming/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005533 文…

docker将容器打包提交为镜像,再打包成tar包

将容器打包成镜像可以通过以下步骤来实现。这里以 Docker 为例&#xff0c;假设你已经安装了 Docker 并且有一个正在运行的容器。 1. 找到正在运行的容器 首先&#xff0c;你需要找到你想要打包成镜像的容器的 ID 或者名字。可以使用以下命令查看所有正在运行的容器&#xff…