使用HTML5里的classList操作CSS类


Posted in HTML / CSS onJune 28, 2016

在JavaScript和JavaScript工具库里征战多年,我经常有这样的遐想:什么时候现代浏览器里能提供一些辅助方法和类库,替代那些JavaScript工具库,比如jQuery,让我们用浏览器原生的方法替代它们。我知道浏览器必定会向这个方向改进,但这个进化过程不会很迅速,而且各种浏览器需要共同做这样的革新,火狐浏览器、谷歌浏览器、特别是IE,只有当这些主流浏览器都具备了这样的功能,我们的愿望才算真正的实现。好消息是,其中有一个这样的功能已经被加入到了HTML5 API里:classList

在HTML5 API里,页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增、删除、修改节点上的CSS类。使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类。

Element.classList

这个classList对象里有很多有用的方法:

XML/HTML Code复制内容到剪贴板
  1. {   
  2.  length: {number}, /* # of class on this element */   
  3.  add: function() { [native code] },   
  4.  contains: function() { [native code] },   
  5.  item: function() { [native code] }, /* by index */   
  6.  remove: function() { [native code] },   
  7.  toggle: function() { [native code] }   
  8. }   
  9.   

正如你上面看到的,Element.classList类很小,但里面的每个方法都很有用。

新增CSS类

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

myDiv.classList.add('myCssClass');

删除一个CSS类

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

myDiv.classList.remove('myCssClass');

你可以在这个方法里一次传入多个类名,用空格分开,但执行的结果很有可能不是你预期的。

反转CSS类的有无

myDiv.classList.toggle('myCssClass'); //现在是增加
myDiv.classList.toggle('myCssClass'); //现在是删除

这个方法的作用就是,当myDiv元素上没有这个CSS类时,它就新增这个CSS类;如果myDiv元素已经有了这个CSS类,它就是删除它。就是反转操作。

检查是否含有某个CSS类

myDiv.classList.contains('myCssClass'); //returns true or false

目前所有的现代浏览器(火狐浏览器,谷歌浏览器等)都支持这个classList类,所以,相信新型的javaScript类库里都会使用classList类来操作页面CSS类,而不需像以前一样去分析元素节点的class属性!

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

HTML / CSS 相关文章推荐
CSS中一些@规则的用法小结
Mar 09 HTML / CSS
简单掌握CSS3将文字描边及填充文字颜色的方法
Mar 07 HTML / CSS
详解css3自定义滚动条样式写法
Dec 25 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
Dec 29 HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
Sep 14 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
Oct 23 HTML / CSS
HTML5新特性之type=file文件上传功能
Feb 02 HTML / CSS
HTML5离线应用与客户端存储的实现
May 03 HTML / CSS
AmazeUI 图标的示例代码
Aug 13 HTML / CSS
h5封装下拉刷新
Aug 25 HTML / CSS
Css预编语言及区别详解
Apr 25 HTML / CSS
分享CSS盒子模型隐藏的几种方式
Feb 28 HTML / CSS
HTML5 canvas基本绘图之图形组合
Jun 27 #HTML / CSS
HTML5不支持标签和新增标签详解
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之文字渲染
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之绘制曲线
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之图形变换
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之填充样式实现
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之绘制线条
Jun 27 #HTML / CSS
You might like
PHP curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
JS 类型转换常见方法小结
2010/05/31 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
Python程序设计入门(2)变量类型简介
2014/06/16 Python
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
简单介绍Python中的RSS处理
2015/04/13 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
python 简单的调用有道翻译
2020/11/25 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
化学教育专业自荐信
2014/07/04 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
学校百日安全活动总结
2015/05/07 职场文书
如何写好闭幕词
2019/04/02 职场文书
python如何进行基准测试
2021/04/26 Python