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

一、Element.classList

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

 {
length: {number}, /* # of class on this element */
add: function() { [native code] },
contains: function() { [native code] },
item: function() { [native code] }, /* by index */
remove: function() { [native code] },
toggle: function() { [native code] }
}

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

1、新增CSS类

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

myDiv.classList.add('myCssClass');<span style="font-family:SimSun;"></span>

2、删除一个CSS类

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

myDiv.classList.remove('myCssClass');<span style="font-family:SimSun;"></span>

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

3、反转CSS类的有无

myDiv.classList.toggle('myCssClass'); //现在是增加
myDiv.classList.toggle('myCssClass'); //现在是删除 注意:
  • toggle 切换一个class ,element.toggle('class-name',[add_or_remove]
  • toggle函数的第二个参数true为添加,false为删除

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

4、检查是否含有某个CSS类

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

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

第88天:HTML5中使用classList操作css类的更多相关文章

  1. 使用HTML5里的classList操作CSS类

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

  2. JQuery:JQuery操作CSS类

    JQuery:CSS类jQuery - 获取并设置 CSS 类,通过 jQuery,可以很容易地对 CSS 元素进行操作.jQuery 操作 CSSjQuery 拥有若干进行 CSS 操作的方法.我们 ...

  3. Jquery中animate可以操作css样式属性总结

    可以用 animate() 方法来操作所有 CSS 属性吗? 是的,几乎可以!不过,需要记住一件重要的事情:当使用 animate()时, 必须使用 Camel 标记法书写所有的属性名,比如,必须使用 ...

  4. java中有关流操作的类和接口

    一.java操作l流有关的类和接口 1.File 文件类 2.RandomAccessFile 随机存储文件类 3.InputStream 字节输入流 4.OutputStream 字节输出流 5.R ...

  5. Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public ...

  6. 第32课 Qt中的文件操作

    1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...

  7. 使用HTML5中的element.dataset操作自定义data-*数据

    不久之前我向大家展示了非常有用的classList API,它是一种HTML5里提供的原生的对页面元素的CSS类进行增.删改的接口,完全可以替代jQuery里的那些CSS类操作方法.而另外一个非常有用 ...

  8. 使用HTML5的JS选择器操作页面中的元素

    文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> ...

  9. 使用HTML5的JavaScript选择器操作页面中的元素

    <!doctype html><html lang="en"> <head>     <meta charset="UTF-8& ...

随机推荐

  1. 20155217 2016-2017-2《Java程序设计》课程总结

    20155217 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业一:我所期望的师生关系 预备作业二:c与java的关系 预备作业三:安装虚拟机 第一周作业: ...

  2. 20155319 2016-2017-2 《Java程序设计》第十周学习总结

    20155319 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 计算机网络编程概述 网络编程就是两个或多个设备之间的数据交换,其实更具体的说,网络编程就是两 ...

  3. 2017-2018-2 《网络对抗技术》 20155322 第二周 Exp1 PC平台逆向破解(5)M

    #2017-2018-2 <网络对抗技术> 20155322 第二周 Exp1 PC平台逆向破解(5)M [博客目录] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 ...

  4. 虚拟机安装&Linux初探

    学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统 安装虚拟机的过程还算顺利.除了在安装增强设备功能时需要将之前的硬盘弹出之外,没有遇到其他的问题. 通过实 ...

  5. python 多线程笔记(4)-- 车站售票模拟

    import threading import time import random class Worker(threading.Thread): '''售票员''' def __init__(se ...

  6. day 9 名字管理系统

    1 while True ##### 布尔值:True or False In [8]: a = 19 In [6]: a > 18 Out[6]: True In [7]: a < 18 ...

  7. day3 RHCE

    10.配置NFS服务 在server0配置NFS服务,要求如下: 以只读的形式共享目录/public同时只能被example.com域中的系统访问. 以读写的形式共享目录/protected同时只能被 ...

  8. python3.0 day02 列表、元组 、字典、字符串操作

    1.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作,类似于其他语言中的数组. 定义列表 names = ['Lioa',"Tenglan ...

  9. Unity商店下载的文件保存路径?

    Win7系统: C:\Users\系统用户名\AppData\Roaming\Unity\Asset Store MAC:"~/Library/Unity/Asset\ Store" ...

  10. openstack系列文章(三)

    学习openstack的系列文章-glance glance 基本概念 glance 架构 openstack CLI Troubleshooting 1. glance 基本概念 在 opensta ...