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 相关文章推荐
PHP开发者必须掌握的6个关键字
Apr 14 Javascript
javascript中setTimeout的问题解决方法
May 08 Javascript
jqTransform美化表单
Oct 10 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
Jan 21 Javascript
javascript简单链式调用案例分析
May 10 Javascript
微信小程序 上传头像的实例详解
Oct 27 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
Oct 31 Javascript
Vue项目路由刷新的实现代码
Apr 17 Javascript
tweenjs缓动算法的使用实例分析
Aug 26 Javascript
JavaScript如何操作css
Oct 24 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压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
深入分析PHP引用(&amp;)
2014/09/04 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
js中url对象化管理分析
2017/12/29 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
使用Python设计一个代码统计工具
2018/04/04 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
python实现简单图片物体标注工具
2019/03/18 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Django app配置多个数据库代码实例
2019/12/17 Python
2014年大班元旦活动方案
2014/02/26 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
先进党组织事迹材料
2014/12/26 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
污染环境建议书
2015/09/14 职场文书
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python
MySQL 数据库范式化设计理论
2022/04/22 MySQL