详解使用HTML5的classList属性操作CSS类


Posted in HTML / CSS onOctober 13, 2017

前言

以前我们有需要用js或jquery的一些方法hasClass、addClass、removeClass,在一个元素的class属性上添加或者删除某几个类,达到某种样式变化的需求,但还是稍微麻烦了一些。
h5新增的classList可以让我们更方便的元素的类名进行操作。

注意

classList兼容性有些差,不兼容ie10以下的ie浏览器。

示例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>classList</title>
    <style>
        .mystyle {
            width: 300px;
            height: 50px;
            background-color: red;
            color: white;
            font-size: 25px;
        }
    </style>
</head>
<body>

<p>点击按钮为DIV元素添加 "mystyle" 类。</p>
<button onclick="myFunction()">点我</button>
<div id="myDIV">
    我是一个 DIV 元素。
</div>
<script>
    function myFunction() {
        document.getElementById("myDIV").classList.add("mystyle");
    }
</script>

</body>
</html>

详解使用HTML5的classList属性操作CSS类

新增类

使用add方法,你可以往页面元素是新增一个或多个类:

document.getElementById("myDIV").classList.add("mystyle");

删除一个类

使用remove方法,你可以删除单个CSS类:

document.getElementById("myDIV").classList.remove("mystyle");

在元素中切换类名

在元素中切换类名。使用toggle方法,语法:toggle(class, true|false)

第一个参数为要在元素中移除的类名,并返回 false。

如果该类名不存在则会在元素中添加类名,并返回 true。

第二个是可选参数,设置布尔值用于设置元素是否强制添加或移除类,不管该类名是否存在。例如:

移除一个

document.getElementById("myDIV").classList.toggle("classToRemove", false);

添加一个

document.getElementById("myDIV").classList.toggle("classToAdd", true);

注意: Internet Explorer 或 Opera 12 及其更早版本不支持第二个参数

检查是否含有某个类

使用contains方法,判断某个类是否存在,返回布尔值。

//returns true or false
 document.getElementById("myDIV").classList.contains("myDIV");

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3动画之利用requestAnimationFrame触发重新播放功能
Sep 11 HTML / CSS
让IE6、IE7、IE8支持CSS3的脚本
Jul 20 HTML / CSS
CSS3悬停效果案例应用
Nov 21 HTML / CSS
一款利用css3的鼠标经过动画显示详情特效的实例教程
Dec 29 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
Jul 16 HTML / CSS
Html5 localStorage入门教程
Apr 26 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
Mar 01 HTML / CSS
HTML5 常用语法一览(列举不支持的属性)
Jan 26 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
Jul 13 HTML / CSS
html5移动端价格输入键盘的实现
Sep 16 HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
Mar 18 HTML / CSS
HTML5 语义化标签(移动端必备)
Aug 23 HTML / CSS
HTML5网页音乐播放器的示例代码
Nov 09 #HTML / CSS
js实现移动端H5页面手指滑动刻度尺功能
Nov 16 #HTML / CSS
HTML5实现视频直播功能思路详解
Nov 16 #HTML / CSS
基于HTML5 Canvas 实现商场监控实例详解
Nov 20 #HTML / CSS
微信浏览器左上角返回按钮拦截功能
Nov 21 #HTML / CSS
html5使用Canvas绘图的使用方法
Nov 21 #HTML / CSS
详解HTML5新增标签
Nov 27 #HTML / CSS
You might like
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
2016/12/08 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python基于pillow判断图片完整性的方法
2016/09/18 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Django日志模块logging的配置详解
2017/02/14 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
python数据结构之列表和元组的详解
2017/09/23 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
J2EE面试题
2016/03/14 面试题
护理学毕业生求职信
2013/11/14 职场文书
《画风》教学反思
2014/04/16 职场文书
社团活动总结怎么写
2014/06/30 职场文书
2015年环保局工作总结
2015/05/22 职场文书
社区安全温馨提示语
2015/07/14 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
详解flex:1什么意思
2022/07/23 HTML / CSS