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 相关文章推荐
写js时遇到的一些小问题
Dec 06 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
Js 获取当前函数参数对象的实现代码
Jun 20 Javascript
Angular.js中用ng-repeat-start实现自定义显示
Oct 18 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
Feb 14 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
Feb 22 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
May 09 Javascript
基于Vue实现平滑过渡的拖拽排序功能
Jun 12 Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 Javascript
在Vue项目中,防止页面被缩放和放大示例
Oct 28 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
Jul 31 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初学者阅读的4本经典书籍
2016/09/23 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
javascript中怎么做对象的类型判断
2013/11/11 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
python实现的阳历转阴历(农历)算法
2014/04/25 Python
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
Python中标准库OS的常用方法总结大全
2017/07/19 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
python邮件发送smtplib使用详解
2020/06/16 Python
Python中extend和append的区别讲解
2019/01/24 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python实现中文文本分句的例子
2019/07/15 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
python中time库的实例使用方法
2019/10/31 Python
python 下划线的不同用法
2020/10/24 Python
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
旅游业大学生创业计划书
2014/01/31 职场文书
个性发展自我评价
2014/02/11 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
端午节寄语2015
2015/03/23 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
MySQL的索引你了解吗
2022/03/13 MySQL
mysql的单列多值存储实例详解
2022/04/05 MySQL
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电