classList属性
-
1、传统方法:
在操作类名的时候,需要通过className属性添加、删除和替换类名。如下面例子:
1<div
class
=
"bd user disabled"
>...</div>
这个div中一共有三个类名,要从中删掉一个类名,需要把这三个类分别拆开,然后进行处理,处理过程如下:
1234567891011121314<script type=
"text/javascript"
>
var className=div.className.split(/\s+/);
//找到要删掉的类名
var pos=-
1
,
i,len;
for
(var i =
0
; i < className.length; i++) {
if
(className[i]==
"user"
){
pos=i;
break
;
}
};
className.splice(i,
1
);
div.className=className.join(
" "
);
//将余下的类名重新拼装
</script>
上述方面即为传统的方法。
2、html5新增方法classList(),可以完全摆脱className属性。
具体使用案例如下:
1234567891011121314151617181920212223242526272829303132333435363738<title>classList Example</title>
<style>
.highlight {
background: yellow;
}
</style>
<div id=
"myDiv"
class
=
"init"
>Hello world!</div>
<input type=
"button"
value=
"Add class"
onclick=
"addClass()"
>
<input type=
"button"
value=
"Remove class"
onclick=
"removeClass()"
>
<input type=
"button"
value=
"Toggle class"
onclick=
"toggleClass()"
>
<input type=
"button"
value=
"Contains class?"
onclick=
"containsClass()"
>
<p>This demo works in Firefox
3.6
and Chrome
8
.</p>
<script type=
"text/javascript"
>
function addClass(){
var myDiv = document.getElementById(
"myDiv"
);
myDiv.classList.add(
"highlight"
);
}
function removeClass(){
var myDiv = document.getElementById(
"myDiv"
);
myDiv.classList.remove(
"highlight"
);
}
function toggleClass(){
var myDiv = document.getElementById(
"myDiv"
);
myDiv.classList.toggle(
"highlight"
);
}
function containsClass(){
var myDiv = document.getElementById(
"myDiv"
);
alert(myDiv.classList.contains(
"highlight"
));
}
</script>
注:但是目前classList属性只有FireFox3.6+和Chrome支持。
-
参考链接:http://www.2cto.com/kf/201409/331425.html
classList属性的更多相关文章
- 脚本化CSS类-HTML5 classList属性
HTML元素可以有多个CSS类名,class属性保存了一个用空格隔开的类名列表.标识符class在JavaScript中是保留字,所以在JavaScript中可以用className. //如下代码设 ...
- HTML5实战与剖析之classList属性
classList属性究竟是干什么的,我们先撇下classList不管.我们考虑这么一个问题,那就是我们如何将拥有多个类名的元素中的其中一个类名删除呢?梦龙较劲脑汁儿终于想到一个实现的方法.将拥有类名 ...
- classList属性详解
之前我们要操作一个DOM元素的class属性,需要对这个DOM的class进行繁琐的循环判断,而现在HTML5为每个元素定义了classLlist属性,用于在元素中添加,移除及切换 CSS 类.该属性 ...
- classList属性和className的区别
className的不方便之处: 在操作类名时,需要通过className属性添加,删除和替换类名.因为className中是一个字符串,所以即使只修改字符串一部分,也必须每次都设置整个字符串的值.( ...
- html元素是否包含另外一个元素,以及classList属性
如何判断一个元素A包含了元素B呢?如果不用contains方法的话,如何做呢? 腾讯面试的时候也出了这道题啊,当时没看dom的知识,所以一抹黑哦... 那就判断B是否为A的child喽,那也就是A是B ...
- 给IE9及其以下等不支持classList属性的浏览器,添加classList属性
// 解决IE9及其以下 不支持classList属性的问题 if (!("classList" in document.documentElement)) { Object.de ...
- HTML5新特性:元素的classList属性与应用
在html5新增的classList之前, 操作元素的class用的是className这个属性,而如果要向jquery封装的hasClass, removeClass, addClass, togg ...
- HTML DOM classList 属性
页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 添加 ...
- DOM 的classList 属性
1.添加1个或多个class add(class1, class2, ...) 2.移除class remove(class1, class2, ...) 3.判断指定的类名是否存在 contains ...
随机推荐
- [C/C++] multimap查找一个key对应的多个value
在multimap中,同一个键关联的元素必然相邻存放.基于这个事实,就可以将某个键对应的值一一输出. 1.使用find和count函数.count函数求出某个键出现的次数,find函数返回一个迭代器, ...
- Java词频统计
public class WordCount { public static void main(String[] args) { String[] stopWords = { "" ...
- eclipse中添加配置文件夹config
1. 在项目上右键->Build path->Configure Build Path->Source下的Add Folder,如图 2. 在弹出框中,Create New Fold ...
- 不记得oracle管理员密码,更改oracle sys密码的方法
1.确保下面两条满足 a. sqlnet.ora里 SQLNET.AUTHENTICATION_SERVICES = (NTS) 的配置是否存在,不存在加上这句: b. 你的os 用户是不是属于ora ...
- VRRP主备备份配置示例—实现网关冗余备份
本示例的基本拓扑结构如图所示. HostA通过Switch 双线连接到RouterA 和RouterB .用户希望实现:正常情况下, 主机以RouterA 为默认网关接入Intemet; 而当Rout ...
- Alternate Task UVA - 11728 (暴力。。分解质因子)
题意: 输入一个正整数S,(S <= 1000)求一个最大的正整数N,使得N的所有正因子之和为S. 解析: ..求1000以内的所有数的正因子和 ...输出.. #include <io ...
- 如何认识TOS----DSCP 对照表
如何认识TOS----DSCP 对照表 最近有遇到项目中对FortiGate设置TOS的策略路由的问题,其实这问题较为简单,但是由于大家对TOS-DSCP概念不熟悉造成的,所以感觉比较难,现在不同厂商 ...
- 【刷题】BZOJ 1061 [Noi2008]志愿者招募
Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完 ...
- BZOJ3155:Preprefix sum——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3155 最朴素的想法是两棵树状数组,一个记录前缀和,一个记录前缀前缀和,但是第二个我们非常不好修改 ...
- RadioButton如何隐藏和替换
http://q.cnblogs.com/q/60738/ 用Jquery写的,可以实现隐藏功能,代码如下: 1 <%@ Page Language="C#" AutoEve ...