使用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 相关文章推荐
用纯css3和html制作泡沫对话框实现代码
Mar 21 HTML / CSS
css3 transform属性详解
Sep 30 HTML / CSS
一款CSS3实现多功能下拉菜单(带分享按)的教程
Nov 05 HTML / CSS
CSS Grid布局教程之网格单元格布局
Dec 30 HTML / CSS
详解HTML5通讯录获取指定多个人的信息
Dec 20 HTML / CSS
html5时钟实现代码
Oct 22 HTML / CSS
使用canvas绘制贝塞尔曲线
Dec 17 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
Mar 21 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
Dec 20 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
Feb 13 HTML / CSS
总结html5自定义属性有哪些
Apr 01 HTML / CSS
详解HTML5.2版本带来的修改
May 06 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+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
2019/05/26 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
mac 安装python网络请求包requests方法
2018/06/13 Python
python命令行工具Click快速掌握
2019/07/04 Python
python 实现兔子生兔子示例
2019/11/21 Python
Python内存映射文件读写方式
2020/04/24 Python
python 实现的车牌识别项目
2021/01/25 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
加拿大城市本地限时优惠:Buytopia.ca
2018/09/19 全球购物
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
土木工程实习生自我鉴定
2013/09/19 职场文书
运动会广播稿150字
2014/02/19 职场文书
物业保安员岗位职责
2014/03/14 职场文书
校园绿化美化方案
2014/06/08 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
黄石寨导游词
2015/02/05 职场文书
网络管理员岗位职责
2015/02/12 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript