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 相关文章推荐
CheckBox 如何实现全选?
Jun 23 Javascript
通过js获取div的background-image属性
Oct 15 Javascript
jQuery 属性选择器element[herf*='value']使用示例
Oct 20 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
Aug 25 Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
Mar 06 Javascript
JavaScript利用HTML DOM进行文档操作的方法
Mar 28 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
Angular刷新当前页面的实现方法
Nov 21 Javascript
详解JavaScript中的执行上下文及调用堆栈
Apr 29 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 执行系统命令的方法
2009/07/07 PHP
CI框架中zip类应用示例
2014/06/17 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
javascript实现连续赋值
2015/08/10 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
js实现3D旋转相册
2020/08/02 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
由面试题加深对Django的认识理解
2019/07/19 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
基于python实现删除指定文件类型
2020/07/21 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
给同学的道歉信
2014/01/16 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
罚站检讨书
2015/01/29 职场文书
记者节感言
2015/08/03 职场文书
大学新生入学感想
2015/08/07 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS