-
1、传统方法:在操作类名的时候,需要通过className属性添加、删除和替换类名。如下面例子:
1<div
class
=
"bd user disabled"
>...</div>
这个div中一共有三个类名,要从中删掉一个类名,需要把这三个类分别拆开,然后进行处理,处理过程如下:
12
3
4
5
6
7
8
9
10
11
12
13
14
<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属性。
具体使用案例如下:
12
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<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属性
时间: 2024-10-01 03:23:44
classList属性的相关文章
HTML5实战与剖析之classList属性
classList属性究竟是干什么的,我们先撇下classList不管.我们考虑这么一个问题,那就是我们如何将拥有多个类名的元素中的其中一个类名删除呢?梦龙较劲脑汁儿终于想到一个实现的方法.将拥有类名li.meng和long,三个类名中的类名meng删除.代码如下 HTML代码 view source print? 1.<div class="li meng long">梦龙小站</div> JavaScript代码 view source print? 01.
javascript高级程序设计---classList属性
1.传统方法: 在操作类名的时候,需要通过className属性添加.删除和替换类名.如下面例子: <div class="bd user disabled">...</div> 这个div中一共有三个类名,要从中删掉一个类名,需要把这三个类分别拆开,然后进行处理,处理过程如下: <script type="text/javascript"> var className=div.className.split(/\s+/); //
脚本化CSS类-HTML5 classList属性
HTML元素可以有多个CSS类名,class属性保存了一个用空格隔开的类名列表.标识符class在JavaScript中是保留字,所以在JavaScript中可以用className. //如下代码设置和清除元素的className属性来为元素添加或移除attention类 function grabAttention(e){e.className="attention";} function releaseAttention(e){e.className="";}
200 classList 属性
classList属性是HTML5新增的一个属性,返回元素的类名.但是ie10以上版本支持. 该属性用于在元素中添加,移除及切换 CSS 类.有以下方法 添加类: element.classList.add('类名'): focus.classList.add('current'); 移除类: element.classList.remove('类名'); focus.classList.remove('current'); 切换类: element.classList.toggle('类名')
html 操作dom classLIst 属性
1.classList 属性 可以给指定的dom 增加多个class,他是只读的,只可以使用 add() 和 remove() 方法修改. eg: document.getElementById("myDIV").classList.add("mystyle", "anotherClass", "thirdClass"); 具体见菜鸟教程:https://www.runoob.com/jsref/prop-element-cl
HTML DOM classList 属性
页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 添加类(add) document.getElementById("myDIV").classList.add("mystyle"); 为 <div> 元素添加多个类: document.getElementById("myDIV").cla
HTML5新特性:元素的classList属性与应用
在html5新增的classList之前, 操作元素的class用的是className这个属性,而如果要向jquery封装的hasClass, removeClass, addClass, toggleClass一样优雅的操作calssName, 在以前我们要对className封装处理,如下, 下面的代码你未必能看得懂运行流程,但应该能看懂功能部分,这几段函数是取自我录制的一套视频中,讲解DOM框架封装的一部分 gQuery.prototype.hasClass = function (ob
JS基础篇--HTML DOM classList 属性
页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 添加类(add) document.getElementById("myDIV").classList.add("mystyle"); 为 <div> 元素添加多个类: document.getElementById("myDIV").cla
classLIST元素增删改查方法
window.onload=function () { var oDiv=document.getElementsByTagName('div')[0]; var oInP=document.getElementsByTagName('input')[0]; var aDiv=new classList(oDiv); oInP.onclick=function(){ aDiv.add('ha'); alert(oDiv.className); }}/*如果e有classList属性则返回它,否则