Dom获取属性操作

news2024/11/27 11:27:39

目录

1. 基本认知

1.1 目的和内容

1.2 什么是DOM

1.3 DOM对象

1.4 DOM树

2. 获取DOM元素对象

2.1 选择匹配到的第一个元素

2.2 选择匹配到的多个元素

2.3 其他获取DOM元素方法

3. 操作元素内容

3.1 元素对象.innerText 属性

3.2 元素对象.innerHTML 属性

4. 操作元素属性

4.1 操作元素常用属性

4.2 操作元素样式属性

4.3 操作表单元素属性

4.4 自定义属性

5. 定时器-间歇函数


1. 基本认知

1.1 目的和内容
目的: 就是使用 JS 去操作 html网页 和 浏览器,实现各种网页特效。
内容: DOM (文档对象模型)、 BOM (浏览器对象模型)

1.2 什么是DOM
  • DOM 是 Document Object Model——文档对象模型 的简称
  • DOM 是 W3C组织推荐的一套操作文档结构、样式和内容的技术标准(所有的浏览器都遵循了)
  • 一句话概括:DOM是浏览器提供的一套专门用来 操作网页 的功能

DOM作用:开发网页内容特效和实现用户交互

1.3 DOM对象
DOM技术的核心
  • 以对象的方式描述整个网页,定义了表示和修改网页内容所需的对象
  • 网页中的任何内容都可以用对象来表示,操作这个对象会自动作用到网页身上
    • 整个html网页用 文档对象 来表示
    • 网页中的标签用 标签对象(元素对象)来表示

DOM的核心思想:把网页内容当做 对象 来处理

DOM对象:浏览器根据html标签生成的 JS对象
  • 标签上的所有属性都可以在这个对象上面找到
  • 修改这个对象的属性会自动映射到标签身上

document 对象:

  • DOM 里表示整个网页(整个文档)的对象
  • 所以它提供的属性和方法都是用来访问和操作网页内容的
    • 例:document.write()
  • 网页所有内容都在document里面
1.4 DOM树
DOM树是什么
  • DOM技术将 HTML 文档和标签映射成对象后,形成了类似“倒着的大树”的组织结构
  • HTML文档的树状结构,我们称之为 文档树 DOM 树
DOM树的作用
  • DOM文档树直观的体现了标签与标签之间的关系
  • 通过DOM树可以获取到网页上的任意内容

2. 获取DOM元素对象

2.1 选择匹配到的第一个元素
语法:document.querySelector("css选择器")
参数:包含一个或多个有效的CSS选择器 字符串
返回值: CSS选择器匹配的 第一个元素 ,一个 HTMLElement对象。 如果没有匹配到,则返回null。
技术文档: https://developer.mozilla.org/zh-CN/docs/Web/API/Document/querySelector
2.2 选择匹配到的多个元素
语法:document.querySelectorAll("css选择器")
参数:包含一个或多个有效的CSS选择器 字符串
返回值:CSS选择器匹配的 NodeList 元素对象集合( 伪数组
例如: document.querySelectorAll("ul li")
得到的是一个 伪数组
  • 有长度有索引号的数组
  • 但是没有 pop() push() 等数组方法
想要得到里面的每一个对象,则需要遍历(for)的方式获得。
注意: 哪怕只有一个元素,通过querySelectAll() 获取过来的也是一个 伪数组 ,里面只有一个元素
2.3 其他获取DOM元素方法

3. 操作元素内容

3.1 元素对象.innerText 属性
  • 元素对象的innerText属性对应着标签的内容
  • 通过innerText属性,就可以获取/更新标签的内容
  • 纯文本,不解析标签

举例:

3.2 元素对象.innerHTML 属性
  • 元素对象的innerHTML属性对应着标签的内容
  • 通过innerHTML属性,就可以获取/更新标签的内容
  • 会解析标签,多标签建议使用模板字符

4. 操作元素属性

4.1 操作元素常用属性
通过 JS 设置/修改标签元素的属性,比如通过 src更换图片
最常见的属性比如: href、title、src 等
语法:对象.属性 = 值
举例:

4.2 操作元素样式属性
通过 style 属性操作CSS
语法:对象.style.样式属性 = 值
举例:

操作类名(className) 操作CSS
如果要修改的样式比较多,直接通过style属性修改比较繁琐,我们可以通过修改标签的类名实现。
语法:元素.className = "active"  // active 是一个css类名
注意:
  1. 由于class是关键字,所以使用className代替
  2. className是使用新值旧值, 如果需要添加一个类,注意保留之前的类名

通过 classList 操作类控制CSS

使用className 会覆盖以前的类名,我们可以通过classList方式 追加 删除 类名
语法:

4.3 操作表单元素属性
  • 表单很多情况,也需要修改属性,比如点击眼睛,可以看到密码,本质是把表单类型转换为文本框
  • 表单标签的大部分属性的操作,和普通标签属性的操作没有任何区别

获取:DOM对象.属性名

设置:DOM对象.属性名 = 新值
举例:

  • 表单标签有些属性是表示状态的,比如: disabled、checked、selected
  • 状态属性获得的是:布尔值。
  • 修改状态属性时,使用布尔值修改,为true 代表添加了该属性,false 代表移除了该属性
4.4 自定义属性
标准属性: 标签天生自带的属性,比如class id title等, 可以直接使用“.属性名”操作
自定义属性:
  • html5中推出来了data-* 格式的自定义属性(在标签上记录一些信息
  • 给标签添加自定义属性一律以data- 开头
  • 在DOM对象上以dataset对象方式获取

举例:

5. 定时器-间歇函数

1. 开启定时器

作用:每隔一段时间调用这个函数,间隔时间单位是毫秒
举例:

2. 关闭定时器

一般不会刚创建就停止,而是满足一定条件再停止
举例:

注意:

  • 函数名字不需要加括号
  • 定时器返回的是一个id数字

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

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

相关文章

力扣题目:寻找数组的中心下标

力扣题目:寻找数组的中心下标 题目链接: 724.寻找数组的中心下标 题目描述 代码思路 根据题目内容,维护好前后缀和,然后从左到右遍历寻找合适的下标 代码纯享版 class Solution {public int pivotIndex(int[] nums) {int sumleft 0, su…

Visual Studio安装MFC开发组件

MFC由于比较古老了,Visual Studio默认没有这个开发组件。最近由于一些原因,需要使用这个库,这就需要另外安装。 参考了网上的一些资料,根据实际使用,其实很多步骤不是必须的。 https://zhuanlan.zhihu.com/p/68117276…

ios CI/CD 持续集成 组件化专题四-(手动发布私有库-组件化搭建)

一 、创建私有索引库 1.1 、第一步 首先检查本地是否存在需要的私有索引库 pod repo list 例如:dp_base_ios_spec 在本地不存在该私有索引库 1.2 、第二步 在git下下创建一个新的库,这个库用来保存私有库的podspec文件,取名叫xxxSpec用以…

如何使用Go语言进行基准测试(benchmark)?

文章目录 一、基准测试的基本概念二、编写基准测试函数三、运行基准测试四、优化代码性能五、注意事项总结 在Go语言中,基准测试(benchmark)是一种评估代码性能的有效方式。通过基准测试,我们可以测量代码执行的时间、内存使用情况…

MAT分析内存溢出

一. 下载地址 MAT工具,可以单独下载,记得和JDK进行适配,可以不用下载eclipse 下载地址: https://eclipse.dev/mat/downloads.php 二. MAT内存溢出本地代码测试 package com.sohu.test.method;import java.util.ArrayList; import java.ut…

Dashboard 安装部署

Dashboard 安装部署 Dashboard 安装部署 一:下载 二:部署步骤 1.镜像下载及导入 国内直接拉外网镜像会失败,可在境外下载镜像 查看 deployment 里的镜像版本 Dashboard Deploymentcontainers:- name: kubernetes-dashboardimage: k8s.g…

二叉树的遍历算法

目录 1.二叉树结构 2.广度优先搜索二叉树(迭代算法) 3.深度优先搜索二叉树(递归算法) 1.二叉树结构 一个父结点,至多可以连接左右两个子节点 Java构造树结构——其实是 自定义树结点类型 public class TreeNode {in…

【数据结构】链表专题3

前言 本篇博客我们继续来讨论链表专题,今天的链表算法题是经典中的经典 💓 个人主页:小张同学zkf ⏩ 文章专栏:数据结构 若有问题 评论区见📝 🎉欢迎大家点赞👍收藏⭐文章 目录 1.判断链表是否…

基于Springboot的在线博客网站

基于SpringbootVue的在线博客网站的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页 博客标签 博客分类 博客列表 图库相册 后台登录 后台首页 用户管理 博客标…

layui中禁用div标签等操作

为了实现点击表格行后触发事件 然后去触发后进行操作 页面流程操作设置规定 不可编辑直接添加属性 class"layui-disabled"如果在最大的 div 设置不可编辑 但是内部有些还是可以触发使用的 所以就重写一下 取到当前 div 下的 所有的子元素 然后在给所有的子元素…

PE文件(三)节表作业

本次作业以notepad进行演示,如下是其在硬盘上的内存 1.手动解析节表 由标准pe头可知,一共由7个节也就是7个节表,可选pe头的大小是0X00F0,即240字节大小 根据上述我们所获取的信息,找到节表的首地址为0x01F8 .text …

Uniapp好看登录注册页面

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

docker 基础命令

docker 安装 更新系统 sudo apt update sudo apt -y dist-upgrade安装docker sudo apt-get -y install ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/…

C语言——操作符保姆级教学(含整形提升及算数转换)

操作符 一.操作符的分类二.原码、反码、补码三.移位操作符1.左移操作符&#xff1a;<<2.右移操作符&#xff1a;>> 四.位操作符1.按位与—— &2.按位或—— |3.按位异或—— ^4.按位取反—— ~ 五.逗号表达式六.条件操作符七.操作符的属性&#xff1a;优先级、…

MATLAB 数据输出

MATLAB 数据输出 数据导出(或输出)在 MATLAB 的意思是写入文件。MATLAB 允许您在另一个读取 ASCII 文件的应用程序中使用您的数据。为此&#xff0c;MATLAB 提供了几个数据导出选项。 您可以创建以下类型的文件- 数组中的矩形、分隔的ASCII数据文件。 击键的日记&#xff08…

导数之光:探寻机器学习中的微变奥秘

在当今这个数据驱动的时代&#xff0c;机器学习以其强大的学习和预测能力&#xff0c;成为了推动科技进步的重要力量。而在机器学习的背后&#xff0c;数学原理&#xff0c;尤其是导数的应用&#xff0c;为其提供了坚实的理论支撑。本文将详细探讨导数在机器学习中的体现&#…

细说SVPWM原理及软件实现原理,关联PWM实现

细说SVPWM原理及软件实现原理&#xff0c;关联PWM实现 文章目录 细说SVPWM原理及软件实现原理&#xff0c;关联PWM实现1. 前言2. 基础控制原理回顾2.1 FOC 原理回顾2.2 细说 SVPWM2.2.1 矢量扇区计算2.2.2 矢量作用时间计算 2.2.3 如何理解 U4 U6 2/3Udc?2.2.4 如何理解 U4m…

flash attention 参数(笔记)

目录 一、flash attention官方 1.1、flash attention安装 二、flash attention 常见函数 2.1、flash_attn_varlen_qkvpacked_func 2.2、flash_attn_varlen_kvpacked_func 2.3、flash_attn_varlen_func ​​​​​​​2.4、flash_attn_with_kvcache 2.5、flash_attn_func 一、…

1. 深度学习笔记--神经网络中常见的激活函数

1. 介绍 每个激活函数的输入都是一个数字&#xff0c;然后对其进行某种固定的数学操作。激活函数给神经元引入了非线性因素&#xff0c;如果不用激活函数的话&#xff0c;无论神经网络有多少层&#xff0c;输出都是输入的线性组合。激活函数的意义在于它能够引入非线性特性&am…

魔方阵(C语言)

一、魔方阵规律&#xff1b; 8 1 6 3 5 7 4 9 2 魔方阵中各数的排列规律如下&#xff1a; (1)将1放在第1行中间一列。 (2)从2开始直到nn止&#xff0c;各数依次按此规则存放&#xff1a;每一个数存放的行比前一个数的行数减1&#xff0c;列数加1(例如上…