JavaScript利用html5新方法操作元素类名详解


Posted in Javascript onNovember 27, 2021

早先JavaScript处理起来特别不方便,需要先取到class属性,然后对字符串进行处理。

现在html5给所有元素增加了classList属性来操作类属性,非常方便。

1、classList属性

先看如下代码:

<ul class="nav">

    <li class="active">栏目1</li>

    <li>栏目2</li>

    <li>栏目3</li>

</ul>

<script type="text/javascript">

    // 获取到当前的li元素

    let activeLi = document.querySelector(".active");

    // 打印classList属性

    console.log(activeLi.classList)

    // 控制台输出:

    //     DOMTokenList ['active', value: 'active']

</script>

控制台查看效果:

classList属性类型:

JavaScript利用html5新方法操作元素类名详解

classList属性是 DOMTokenList 类型,可以通过addcontainsremove等方法对类属性进行操作。

  • add(value) 新增加一个类名。
  • contains(value) 是否包含类名。
  • remove(value) 删除类名。
  • toggle(value) 如果类名存在则删除,否则添加。

2、实务应用

实务中,栏目是切换是很常用的一个应用。接上面的例子,当点击栏目时 将 active 移动到对应的栏目

<ul class="nav">

    <li class="item active">栏目1</li>

    <li class="item">栏目2</li>

    <li class="item">栏目3</li>

</ul>

 

<script type="text/javascript">

    let currentElement = document.querySelector(".nav").firstElementChild;

    // 遍历li元素设置点击事件

    while (currentElement) {

        currentElement.onclick = function() {

            // 移除激活li的active

            document.querySelector(".active").classList.remove("active");

            // 当前li类增加active

            this.classList.add("active");

        }

        currentElement = currentElement.nextElementSibling;

    }

</script>

这样实现起来就很方便了,不用影响到其他类名。

到此这篇关于JavaScripthtml5新方法操作元素类名详解的文章就介绍到这了,更多相关JavaScripthtml5新方法操作元素类名内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
基于jquery ajax 用户无刷新登录方法详解
Apr 28 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
Oct 17 Javascript
javascript框架设计读书笔记之模块加载系统
Dec 02 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
Mar 23 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
Apr 17 Javascript
详解jQuery简单的表单应用
Dec 16 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
Jan 29 Javascript
原生JS+Canvas实现五子棋游戏实例
Jun 19 Javascript
详解vue-router 路由元信息
Sep 13 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
js实现弹幕飞机效果
Aug 27 Javascript
一文了解JavaScript用Element Traversal新属性遍历子元素
Nov 27 #Javascript
JavaScript选择器函数querySelector和querySelectorAll
Nov 27 #Javascript
关于JavaScript 中 if包含逗号表达式
Nov 27 #Javascript
JavaScript中MutationObServer监听DOM元素详情
Nov 27 #Javascript
JavaScript中document.activeELement焦点元素介绍
Nov 27 #Javascript
利用JavaScript写一个简单计算器
JavaScript中的宏任务和微任务详情
Nov 27 #Javascript
You might like
php使用session二维数组实例
2014/11/06 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
使用documentElement正确取得当前可见区域的大小
2014/07/25 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
Python 文件读写操作实例详解
2014/03/12 Python
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
使用python求解二次规划的问题
2020/02/29 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
如何在django中实现分页功能
2020/04/22 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
公司同意接收函
2014/01/13 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
秦兵马俑导游词
2015/02/02 职场文书
项目建议书
2015/02/04 职场文书
创业计划书之宠物店
2019/09/19 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers