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表数据排序 sort table data
Feb 18 Javascript
jquery插件之easing使用
Aug 19 Javascript
jquery的ajax请求全面了解
Mar 20 Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 Javascript
加随机数引入脚本不让浏览器读取缓存
Sep 04 Javascript
JQuery+EasyUI轻松实现步骤条效果
Feb 22 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
微信小程序实现文字跑马灯效果
May 26 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
Mar 05 Javascript
vue better scroll 无法滚动的解决方法
Jun 07 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 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下MAIL的另一解决方案
2006/10/09 PHP
FCKeditor的安装(PHP)
2007/01/13 PHP
php实现过滤UBB代码的类
2015/03/12 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
解析python的局部变量和全局变量
2019/08/15 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
销售主管竞聘书
2014/03/31 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
2015公司年度工作总结
2015/05/14 职场文书
护理工作心得体会
2016/01/22 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书