JavaScript 获取DOM对象
html的标签被js获取到之后就变成了js对象,对象里面包含了标签的属性和方法 。同一时间获取多个对象则会翻译一个数组,数组元素是对象
获取方法
1. const a = document.getElementById("id"),根据标签的id来获取。因为id是唯一的、不可重复的,所以获取到的对象只有一个。
2.const td = document.getElementsByClassName('classname'),根据标签的class获取,由于class没有要求不能重名。所以获取到的对象都会存储到HTMLCollection中,这个有点类似于数组,可以通过下标访问
3.const td = document.getElementsByTagName('标签名'),获取指定标签,返回值和2一样
4.const a = document.querySelector('css选择器'),根据css选择器的方法获取对应的对象。默认返回第一个符合条件的对象。
5.const a = document.querySelectorAll('css选择器'),返回所有符合的对象。
| 选择器种类 | 书写方法 | 注意事项 | 选择规则 |
| 元素选择器 | 标签名 | 直接写标签名即可 | 选择所有对应的标签 |
| 类选择器 | .类名 | 点加类名 | 选择运用这个类的标签 |
| id选择器 | #id | 井号加id(id唯一且由用户自行输入 | 选择id是我们所需要的标签 |
| 通配符选择器 | * | 星号 | 选择所有元素 |
| 后代选择器 | 父标签 子标签 | 父标签与子标签空格隔开 | 选择父标签的子标签 |
操作元素内容
获取到DOM对象之后我们就可以对他进行一些操作。
const a = document.getElementById('nihao')//假设通过这个获取到一个id为nihao的DOM对象
1.a.innerText --- 对象里面的一个属性,获取的是该HTML元素内所有的文字,不包括HTML标签。可以通过它修改数据。
2.a.innerHTML --- 对象里的一个属性,获取的是改HTML元素内所有的文字包括HTML标签。也可以修改,并且会自动识别HTML标签内容并渲染到页面。

如图所示
操作元素属性
1.更改src路径
const img = document.querySelector("img")img.src = "img/屏幕截图 2025-01-04 220938.png"
获取一个img对象,通过.src来替换这个图片
2.更改图片宽高
img.height = 4000img.width = 80
更改为指定的宽高,也可以之更改其中之一。
3.鼠标悬停提示
img.title = "tishi"
当鼠标停止在图片上时会提示 --- tishi
操作样式属性
获取一个div对象,我们可以修改div对象的所有属性。包括但不限于长宽高背景颜色等等等等
const div = document.querySelector('#example');
获取一个id是example的div对象。
修改宽高
div.style.width = '500px'div.style.height = '500px'
修改div的宽高,为什么不直接使用div.width来修改呢?div.width返回的是实际宽度。并不能修改
修改背景颜色
div.style.backgroundColor = "red";
在HTML中修改背景颜色应该是 background - clolr ,但是在js里面我们要把它改成小驼峰命名法:backgroundColor。也就是说如果在HTML里面有用‘-’连接的单词在js里面都需要改为小驼峰命名法,不然这个‘-’会被识别为减号。导致错误
修改页面背景色和背景图
document.body.style.backgroundColor = "yellow"document.body.style.backgroundImage="url('img/屏幕截图 2024-08-19 081458.png')"
因为body是唯一的,所以直接使用就可以。同样的小驼峰命名法,在设置背景图的时候我们要用以下格式:"url('图片路径')"
将已有的class套用到HTML元素中
className
假设我有一个class a。我想把它运用到某个元素上面(table,div......)
首先我们需要先获取到这个元素
const div = document.querySelector("div")
div.className = "???"
然后更改它的className就可以实现class套用了,原本又有一个class则会覆盖原来的className
classList
如果不想覆盖原有的class,我们可以通过另一个方法来添加类。
const div = document.querySelector("div")获取对象之后,假设此时的div已经有一个class m,我想再把class a追加到div上就可以通过classList.add来追加一个类
div.calssList.add(".a")
此时,div同时拥有a和m两个类,如果有重合的样式,则后添加的覆盖原有的。
如果想删除已有的class,可以通过classList.remove(".a") 删除类a
切换类,如果类存在就删除类,如果类不存在就运用类
div.classList.toggle("b"),如果div已经运用类b就取消运用,如果没运用则运用类b。
相关文章:
JavaScript 获取DOM对象
html的标签被js获取到之后就变成了js对象,对象里面包含了标签的属性和方法 。同一时间获取多个对象则会翻译一个数组,数组元素是对象 获取方法 1. const a document.getElementById("id"),根据标签的id来获取。因为id是唯一的、…...
一文讲明白朴素贝叶斯算法及其计算公式(入门普及)
1、贝叶斯算法 贝叶斯定理由英国数学家托马斯贝叶斯 ( Thomas Bayes) 提出的,用来描述两个条件概率之间的关系。通常,事件A在事件B 发生的条件下与事件 B 在事件 A 发生的条件下,它们两者的概率并不相同,但是它们两者之间存在一定…...
实际开发中,常见pdf|word|excel等文件的预览和下载
实际开发中,常见pdf|word|excel等文件的预览和下载 背景相关类型数据之间的转换1、File转Blob2、File转ArrayBuffer3、Blob转ArrayBuffer4、Blob转File5、ArrayBuffer转Blob6、ArrayBuffer转File 根据Blob/File类型生成可预览的Base64地址基于Blob类型的各种文件的下载各种类型…...
Python自学 - 递归函数
1 Python自学 - 递归函数 递归函数是一种在函数体内调用自己的函数,就像“左脚踩着右脚,再右脚踩着左脚… 嗯,你就可以上天了!”。递归函数虽然不能上天,但在处理某些场景时非常好用, 一种典型的场景就是遍…...
Spark-Streaming有状态计算
一、上下文 《Spark-Streaming初识》中的NetworkWordCount示例只能统计每个微批下的单词的数量,那么如何才能统计从开始加载数据到当下的所有数量呢?下面我们就来通过官方例子学习下Spark-Streaming有状态计算。 二、官方例子 所属包:org.…...
Markdown如何导出Html文件Markdown文件
Markdown如何导出Html文件Markdown文件 前言语法详解小结其他文章快来试试吧☺️ Markdown 导出 HTML 👈点击这里也可查看 前言 Markdown的源文件以md为后缀。Markdown是HTML语法的简化版本,它本身不带有任何样式信息。我们所看到的Markdown网页(如&…...
使用Python进行图像裁剪和直方图分析
一、简介 在数字图像处理领域,裁剪和分析图像的直方图是两个非常基本且重要的操作。本文将通过一个简单的Python项目,展示如何使用skimage和matplotlib库来裁剪图像并分析其RGB通道的直方图。 二、环境准备 在开始之前,请确保你已经安装了以…...
企业内管信息化系统
本文结尾处获取源码。 本文结尾处获取源码。 本文结尾处获取源码。 一、相关技术 后端:Java、JavaWeb / Springboot。前端:Vue、HTML / CSS / Javascript 等。数据库:MySQL 二、相关软件(列出的软件其一均可运行) I…...
【python因果库实战15】因果生存分析4
这里写目录标题 加权标准化生存分析总结个体层面的生存曲线 加权标准化生存分析 我们还可以将加权与标准化结合起来,使用 WeightedStandardizedSurvival 模块。在这里,我们将逆倾向得分加权模型(根据基线协变量重新加权人群)与加…...
Linux 线程详解
目录 一、线程概述 二、线程创建 三、线程终止 四、线程回收 五、线程取消 六、线程分离 七、线程安全 一、线程概述 线程是进程内的一个执行单元,是进程内可调度的实体。一个进程可以包含多个线程,这些线程共享进程的资源,如内存空…...
云架构:考量与框架
云架构:考量与框架 引言 在当今的数字化环境中,云计算已成为现代商业运营的基石。一个设计良好的云架构框架为可扩展、安全和弹性的系统奠定了基础。本文将深入探讨云架构的核心要素,讨论重要的考量因素、设计指南,以及最佳实践…...
SD下载、安装、使用、卸载-Stable Diffusion整合包v4.10发布!
目录 前言概述 SD安装1、安装软件2、启动3、配置4、运行5、测试 导入SD模型【决定画风】常用模型下载安装模型 SD卸载SD文生图提示词提示词使用技巧提示词的高级使用技巧强调关键词 前言 我向来不喜欢搞一些没有用的概念,所以直接整理可能用到的东西。 sd简单的说…...
java 发送邮件
前期准备 pom文件中引入 JavaMail API 和 JavaBean Activation FrameWork,得到两个jar包:mail.jar 和 activation.jar 发送简单邮件(只有邮件正文,普通文本) package com.zbttest.email;import com.sun.mail.util.Ma…...
聚类系列 (二)——HDBSCAN算法详解
在进行组会汇报的时候,为了引出本研究动机(论文尚未发表,暂不介绍),需要对DBSCAN、OPTICS、和HDBSCAN算法等进行详细介绍。在查询相关资料的时候,发现网络上对于DBSCAN算法的介绍非常多与细致,但…...
AngularJS HTML DOM
关于《AngularJS HTML DOM》的文章,我找到了一些有用的信息。这篇文章主要介绍了AngularJS如何通过特定的指令与HTML DOM元素进行交互。以下是一些关键点: ng-disabled 指令:这个指令用于将应用程序数据绑定到HTML的disabled属性。例如&#…...
C语言延时实现
C语言延时实现 在C语言中,delay 函数通过空循环实现延时,而不是像其他高级语言(如Python)直接使用 sleep 函数。这种实现方式是基于单片机的特性和C语言的底层操作。下面详细解释为什么这种空循环可以实现延时,以及它…...
OSI模型的网络层中产生拥塞的主要原因?
( 1 )缓冲区容量有限;( 1.5 分) ( 2 )传输线路的带宽有限;( 1.5 分) ( 3 )网络结点的处理能力有限;( 1 分…...
机器学习周报-ModernTCN文献阅读
文章目录 摘要Abstract 0 提升有效感受野(ERF)1 相关知识1.1 标准卷积1.2 深度分离卷积(Depthwise Convolution,DWConv)1.3 逐点卷积(Pointwise Convolution,PWConv)1.4 组卷积(Grou…...
什么是网关路由
1.认识网关 网关(Gateway)和路由(Router)是两个相关但不同的概念。 一、网关(Gateway) 定义 网关是一个网络节点,它充当了不同网络之间的连接点。可以将其看作是一个网络的 “大门”…...
信号的产生、处理
一、信号的概念 信号是linux系统提供的一种,向指定进程发送特定事件的方式。收到信号的进程,要对信号做识别和处理。信号的产生是异步的,进程在工作过程中随时可能收到信号。 信号的种类分为以下这么多种(用指令kill -l查看&…...
别再手动调格式了!用LaTeX + ctexart搞定中文期刊论文排版(附完整模板)
LaTeX ctexart:科研论文排版的终极效率方案 第一次投稿中文期刊时,我花了整整三天调整Word格式——标题字号不对、参考文献编号错乱、页眉页脚莫名其妙消失。直到实验室师兄扔给我一个.tex文件:"试试这个,点一下编译就行&qu…...
别再死记硬背公式了!用Halcon+C#手把手搞定机器人九点标定(附完整代码与调试技巧)
HalconC#实战:机器人九点标定的工程化实现与避坑指南 在工业自动化领域,视觉引导机器人作业已成为提升生产效率的关键技术。而实现这一技术的核心环节,就是建立相机像素坐标系与机器人物理坐标系之间的精确映射关系——也就是我们常说的九点标…...
Llama-3.2V-11B-cot部署指南:SpringBoot后端服务集成详解
Llama-3.2V-11B-cot部署指南:SpringBoot后端服务集成详解 如果你已经通过星图GPU平台一键部署好了Llama-3.2V-11B-cot模型,看着那个能理解图片和文字的AI服务跑起来了,接下来是不是该琢磨怎么把它用起来了?特别是对于咱们Java和S…...
SillyTavern终极指南:5步打造专业级AI对话前端
SillyTavern终极指南:5步打造专业级AI对话前端 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 还在为复杂的AI对话系统配置而烦恼吗?SillyTavern作为一款专为高级用…...
拆解IDT7205异步FIFO:从引脚时序到状态机,一个嵌入式老兵的调试笔记
一位嵌入式工程师的IDT7205异步FIFO实战手记 第一次拿到IDT7205这颗异步FIFO芯片时,我本以为按照常规思路就能轻松搞定。然而在实际调试过程中,那些看似简单的时序图背后隐藏着不少"坑"。本文将分享我从零开始理解并成功应用IDT7205的全过程&a…...
【Java】继承:从入门到JVM底层,一篇搞定
【Java】继承——语言根基(三)继承:从入门到JVM底层,一篇搞定一、继承到底在表达什么?1.1 is-a关系1.2 什么时候别用继承?二、语法速览三、底层原理:new一个子类对象,内存里发生了什…...
万象视界灵坛环境部署:OpenShift平台容器化部署与RBAC权限控制
万象视界灵坛环境部署:OpenShift平台容器化部署与RBAC权限控制 1. 项目概述与技术背景 万象视界灵坛(Omni-Vision Sanctuary)是一款基于OpenAI CLIP模型构建的多模态智能感知平台。该平台通过创新的像素风格界面设计,将复杂的语…...
行业词典融入:提升gte-base-zh在垂直领域的语义理解
行业词典融入:提升gte-base-zh在垂直领域的语义理解 最近在做一个金融领域的智能问答项目,用到了gte-base-zh这个中文通用文本嵌入模型。模型本身效果不错,但一遇到“量化宽松”、“M2增速”、“同业存单”这类专业术语,语义抓取…...
笔试训练48天:删除公共字符
REAL507 删除公共字符 https://www.nowcoder.com/practice/f0db4c36573d459cae44ac90b90c6212?tpId182&tqId34789&ru/exam/oj 简单 通过率:32.96% 时间限制:1秒 空间限制:32M 知识点Java工程师字符串2017模拟C工程师 描述 输…...
深入解析AWS Step Functions的Express工作流
在云计算领域,AWS Step Functions是实现复杂状态机和工作流的强大工具。最近,我在使用Express工作流时遇到了一个常见的挑战:如何获取工作流的执行列表。本文将详细探讨这个问题,并提供解决方案。 背景介绍 AWS Step Functions有两种工作流类型:标准(Standard)和快速(Ex…...
