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 版
Mar 24 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
Jun 22 Javascript
javascript实现五星评价代码(源码下载)
Aug 11 Javascript
iframe跨域通信封装详解
Aug 11 Javascript
javascript检测flash插件是否被禁用的方法
Jan 14 Javascript
js获取页面及个元素高度、宽度的代码
Apr 26 Javascript
angular.js+node.js实现下载图片处理详解
Mar 31 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
Jul 03 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
May 10 Javascript
js实现固定区域内的不重叠随机圆
Oct 24 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
支付宝小程序实现省市区三级联动
Jun 21 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
cmd下运行php脚本
2008/11/25 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
浅析vue-router原理
2018/10/19 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
python 解析html之BeautifulSoup
2009/07/07 Python
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
python实现图片文件批量重命名
2020/03/23 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
交通违章检讨书
2014/09/21 职场文书
红色影片观后感
2015/06/18 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL