首页 > 编程语言 >JavaScript操作DOM元素的classList

JavaScript操作DOM元素的classList

时间:2024-12-02 15:22:08浏览次数:5  
标签:元素 DOM classList JavaScript element 移除 myClass 类名

在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中操作元素的类名变得非常简单和直观。你可以根据需要使用它们来动态地修改元素的样式或行为。

标签:元素,DOM,classList,JavaScript,element,移除,myClass,类名
From: https://www.cnblogs.com/xiongzaiqiren/p/18581948

相关文章

  • JavaScript 运算符
    JavaScript 运算符运算符=用于赋值。运算符+用于加值。运算符=用于给JavaScript变量赋值。算术运算符 + 用于把值加起来。实例指定变量值,并将值相加:y=5;z=2;x=y+z;在以上语句执行后,x 的值是:7尝试一下»JavaScript算术运算符与/或值之间的算术......
  • 你觉得虚拟DOM快吗?还有没有比它还快的方式?
    虚拟DOM(VirtualDOM)本身并不快,它只是一个JavaScript对象的树形表示,用于描述真实的DOM应该是什么样子。虚拟DOM的速度优势来自于它能够减少对真实DOM的操作。直接操作真实DOM非常耗费性能,因为浏览器需要重新计算布局和渲染页面。虚拟DOM的工作流程如下:创建虚拟......
  • 【娱乐项目】基于批处理脚本与JavaScript渲染视频列表的Web页面
    Demo介绍一个简单的视频播放器应用,其中包含了视频列表和一个视频播放区域。用户可以通过点击视频列表中的项来选择并播放相应的视频,播放器会自动播放每个视频并在播放完毕后切换到下一个视频。本项目旨在通过自动化脚本和动态网页渲染,帮助用户快速生成并展示本地视频资源(......
  • Javascript遍历目录时使用for..in循环无法获取Files对象和SubFolders对象问题的解决方
      1Javascript遍历目录时使用for..in循环无法获取Files对象和SubFolders对象1.1问题场景  在JavaScript中遍历目录,使用for..in循环时,无法获取到Files对象和SubFolders对象,导致无法遍历目录和子目录。  代码如下:functionGetAllFilesInSubFolder(path,filter)......
  • C# + html + fetch + API + javascript
    本随笔,在html利用fetch去callwebapi对数据进行添加,修改,更新和删除。数据库与存储过程,此处略过...创建entity,方便webapi进行互动。 现在可以写WebAPI,html实现添加数据, jsfile, 上面添加的数据,将以下面的数据列呈现,  Insus.NET只是在html静态写了数据的表......
  • HTML、CSS 和 JavaScript :它们是如何构成网页的
    ......
  • DOM操作
    一、DOM以及DOM是哪种数据结构文档对象模型(DOM)是HTML和XML文档的编程接口,提供了文档的结构化的表述文档对象模型DOM是树结构(DOM树)二、DOM操作常用API1.DOM节点操作1)获取DOM节点:document.getElementById('id属性值');返回拥有指定id的对象的引用do......
  • C# mvc +vue+ axios+ api + javascript
    一整天,分享了几条随笔,C#mvc+axios+webapi+javascripthttps://www.cnblogs.com/insus/p/18577591asp.netmvc视图传递数据至另一页的视图https://www.cnblogs.com/insus/p/18578261C#mvc+angular+$http+webapi+javascripthttps://www.cnblogs.com/insus/p/1857......
  • Vue 将推出「无虚拟DOM」版本,又是新的前端框架趋势?
    文章目录背景无虚拟DOM版的Vue3VueVapor在线演练题外话:渲染流程背景随着React和Vue这些前端框架的爆火,他们的渲染方式,虚拟DOM,也跟着火了起来,大家都认为这是一种高性能批量更新DOM的方式但是近一两年有不同的声音,觉得虚拟DOM反而是渲染性能的累赘,所以也出了一......
  • JavaScript 的新数组分组方法
    对数组中的项目进行分组,你可能已经做过很多次了。每次都会手动编写一个分组函数,或者使用 lodash 的 groupBy 函数。好消息是,JavaScript现在有了分组方法,所以你再也不必这样做了。Object.groupBy 和 Map.groupBy 这两个新方法将使分组变得更简单,并节省我们的时间或依赖性......