JavaScript操作DOM元素的classList
在JavaScript中,classList 是一个DOM元素属性,它提供了一组方法来添加、移除和切换元素的类名。classList 属性返回一个 DOMTokenList 集合,表示元素的类名。
这个集合提供了几个非常有用的方法,我们可以方便地对元素的类名进行操作,包括添加、移除、切换类名等。
1,添加类名
add(class1, class2, ...):向元素添加一个或多个类名。如果指定的类名已存在,则不会添加。
element.classList.add('myClass'); // 添加单个类名
element.classList.add('myClass1', 'myClass2'); // 添加多个类名
2,移除类名
remove():从元素中移除一个或多个类名。如果指定的类名不存在,则不会移除。
element.classList.remove('myClass'); // 移除单个类名
element.classList.remove('myClass1', 'myClass2'); // 移除多个类名
3,切换类名
toggle(class, force):切换一个类名的存在和消除。如果类名存在则移除,如果不存在则添加。force参数为true时强制添加类名,为false时强制移除类名。
element.classList.toggle('myClass'); // 切换单个类名
// 如果元素原本有 'myClass',则移除它;如果没有,则添加它
element.classList.toggle('myClass', true); // 强制切换单个类名
element.classList.toggle('myClass', false); // 强制切换单个类名
4,替换类名
replace(oldClass, newClass):替换元素的一个类名为另一个类名。
element.classList.replace('oldClass', 'newClass'); // 替换类名
5,检查是否包含类名
contains():检查元素是否包含指定的类名。如果包含,则返回 true;否则返回 false。
const hasClass = element.classList.contains('myClass'); // 检查是否包含类名
// 或者
if (element.classList.contains('active')) {
// do something
}
6,通过索引获取类名
item():通过索引获取类名。返回指定索引位置的类名,如果索引超出范围,则返回 null。
const className = element.classList.item(0); // 获取第一个类名
7,类名数量
length:返回元素的类名数量。
const classCount = element.classList.length; // 获取类名数量
8,遍历类名列表
forEach()(ES2018引入):遍历类名列表,并为每个类名执行一个函数。
element.classList.forEach((className, index, list) => {
console.log(className); // 遍历并打印每个类名
});
values() / keys() / entries()(ES2018引入):返回新的迭代器对象,允许你使用 for...of 循环遍历类名。
for (const className of element.classList.values()) {
console.log(className); // 使用 for...of 循环打印每个类名
}
这些方法使得在JavaScript中操作元素的类名变得非常简单和直观。你可以根据需要使用它们来动态地修改元素的样式或行为。
JavaScript操作DOM元素的classList的更多相关文章
- 【面试必备】javascript操作DOM元素
前言 时间过的真快,不知不觉就到年底了.问问自己,这一年你对自己的工作满意吗? 评价标准是什么呢?当然是马云的那两条准则了:钱给到了吗?干的爽吗?如果答案都是no,那么,你准备好跳槽了吗? 为了应对年 ...
- JS/JQuery操作DOM元素笔记
原因 自己目前在搭建一个.NET Core的框架,正在构建权限这块的东西,今天设置权限界面,需要使用JavaScript操作DOM元素,记录一下. 页面大概是酱紫的(我使用的AdminLTE和LayU ...
- 使用原生 JavaScript 操作 DOM
原文:https://www.sitepoint.com/dom-manipulation-vanilla-javascript-no-jquery/ 微软官方放弃了 IE10-,所以现在可以放心使用 ...
- Python javascript操作DOM
文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...
- 你所不了解的javascript操作DOM的细节知识点(一)
你所不了解的javascript操作DOM的细节知识点(一) 一:Node类型 DOM1级定义了一个Node接口,该接口是由DOM中的所有节点类型实现.每个节点都有一个nodeType属性,用于表明节 ...
- web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记
hi 保持学习数量和质量 1.jQuery操作DOM元素 ----使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,a ...
- 跨frame操作dom元素
今天,一群友问到跨frame操作dom元素的问题.于是写了个demo,在此发表在博客里面,供其他同道中人参考! 创建child.html内容如下: <!DOCTYPE HTML PUBLIC & ...
- JavaScript 操作 DOM 常用 API 总结
文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前, ...
- javaScript操作DOM对象(看三遍,敲三遍,写三遍! 不会你找我)!!
DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API 使用javaScript操作DOM对象通常分为三类:1.DOM CORE 2.HTM ...
- 第四章 JavaScript操作DOM对象
第四章 JavaScript操作DOM对象 一.DOM操作 DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API接口,1988年,W3C发布了第一级 ...
随机推荐
- linux history 想显示历史命令的时间和作者
vi ~/.profile 增加 HISTTIMEFORMAT="%F %T `whoami` `who am i|awk '{print $1,$5}'|sed 's/ (/@/'|sed ...
- Http状态码502常见原因及排错思路
Http状态码502常见原因及排错思路 502表示Bad Gateway.当Nginx返回502错误时,通常表示Nginx作为代理服务器无法从上游服务器(如:我们的后端服务器地址)获取有效的响应.导致 ...
- golang之项目部署
介绍 Go 语言可以使用内置命令行工具 go build 编译生成可执行文件.自 Go1.5 版本开始实现自举后,交叉编译也很方便,只需使用 GOOS.GOARCH 环境变量指定目标平台和架构. 部署 ...
- python之常用开发包
1.passlib (https://passlib.readthedocs.io/en/stable/) passlib 目前常见的不可逆加密算法有以下几种: 一次MD5(使用率很高) 将密码与一个 ...
- 【集成-Jedis】SpringBoot集成Jedis
将jedis的依赖放进Maven <dependency> <groupId>redis.clients</groupId> <artifactId>j ...
- Python OpenCV按照像素点图片切割
图像分割是从图像处理到图像分析的关键步骤,在目标检测.特征提取.图像识别等领域具有广泛应用.OpenCV是一个强大的计算机视觉库,提供了多种图像分割方法.本文将详细介绍如何使用Python和OpenC ...
- Gitlab误删用户导致项目丢失莫慌
Gitlab让小朋友不小心把离职员工的账号给删了,可是离职员工有好几个项目都是他是owner,造成Gitlab上项目全部丢失. 遇到这种情况,莫慌. 一般,本地都有完整的Git备份,离职员工走了,肯定 ...
- openEuler欧拉配置nginx Keepalived主从和双主
虚拟:172.62.17.110 Nginx主:172.62.17.111 Nginx从:172.62.17.112 一.系统优化 关闭防火墙(两台) systemctl stop firewall ...
- Nginx转发解析长域名多路径域名为一级域名
Nginx解析短域名,例如:访问 http://192.168.1.23 可直接跳转到 http://192.168.1.23/webroot/decision server { listen 90 ...
- undefined method `license' when mac brew install
https://github.com/Homebrew/discussions/discussions/297 brew update-reset brew config brew doctor