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发布了第一级 ...
随机推荐
- 牛客多校H题题解
链接:[https://ac.nowcoder.com/acm/contest/81597/H] 来源:牛客网 题目描述 Red stands at the coordinate \((0,0)\) ...
- CF716B Complete the Word 题解
CF716B Complete the Word 题解 分析 首先观察数据范围是 \(50000\),可以考虑 \(O(n)\) 暴力. 在字符串中枚举子串开始的位置 \(i\),然后再枚举 \(i\ ...
- springboot~jpa优雅的处理isDelete的默认值
如果多个实体类都有 isDelete 字段,并且你希望在插入时为它们统一设置默认值,可以采取以下几种方法来减少代码重复: 1. 使用基类(抽象类) 创建一个基类,其中包含 isDelete 字段和 @ ...
- LLM应用实战: 给个公司简称,输出公司全称
1.背景 本qiang~本周在处理手头项目工作的时候,遇到了一个问题,就是友方提供了一个公司名称列表(量不小~,因此无法人工处理),且该公司名称列表均为简称,需要与库中的全称做一个映射匹配. 看似简单 ...
- Windows 杜比OEM授权
我们中高端的windows笔记本上都可以看到Dolby音效,TV电视上也有支持Dolby显示选项. 杜比主要有几类:Dolby全景声(也叫Atmos).Dolby视界(Vision).杜比影院(Dol ...
- spymemcached源码深入分析
spymemcached深入分析 author:智深 version:0.7 日志:http://my.oschina.net/astute QQ:2548921609(技术交流) 一.简介 spym ...
- 分布式对象存储之FDFS
1.它是一个开源的分布式文件系统,它对文件进行管理. 功能有:文件存储.文件同步.文件访问(文件的上传下载)等.特别适合以文件为主的在线服务. 2.fastDFS服务端有两个角色:跟踪器(tracke ...
- Gitlab的备份与恢复,异机转移
注意:异机转移的时候,gitlab的版本必须一致. 一.备份GitLab数据 停止GitLab服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq 创 ...
- ChatGPT生成测试用例的最佳实践(三)
还记得在第1章,我们利用ChatGPT生成的业务用例吗?这种业务用例生成方式其实和场景法用例设计十分相似,我们是不是也可以直接将业务用例输入ChatGPT,让它输出测试用例呢?笔者输入相关提示词让其补 ...
- ng-alain: delon/abc/sc 简化容器
简化表单HTML模板的高阶组件,并进一步优化了一些细节: 更友好的表单校验状态 自动化响应式布局 自动维护表单 id 它由 se-container 容器(指令)和 se 组件来表示一个表单,一个简单 ...