html5为每一个元素新增了一个
classList
对象,classList
对象保存着控制当前元素类名的各个方法和属性。
Element.classList
是一个只读属性,返回一个元素的类属性的实时 返回一个元素的类属性的实时DOMTokenList
集合。
相比将 element.className
作为以空格分隔的字符串来使用,classList
是一种更方便的访问元素的类列表的方法。
length
返回类名的个数
add()
在原有的类名基础上添加一个类名
remove()
在原有的类名基础上 移出某一个类名
toggle()
如果有这个类名 则删除这个类名,如果没有 则添加减去
item()
根据索引 获取类名
contains()
判断元素是否包含某一个类名
方法
-
add() 添加指定的类值(class value)。如果这些类已经存在于元素的属性中,那么它们将被忽略。
-
删除指定的类值。(注意: 即使删除不存在的类值也不会导致抛出异常。)
-
item( Number ):按集合中的索引返回类值。
-
toggle:当只有一个参数时:切换类值;也就是说,即如果类值存在,则删除它并返回 false,如果不存在,则添加它并返回 true。当存在第二个参数时:若第二个参数的执行结果为 true,则添加指定的类值,若执行结果为 false,则删除它。
-
contains( String ):检查元素的类 class 属性中是否存在指定的类值。
-
replace( oldClass, newClass ):用一个新类值替换已有的类值。
示例
<button id="btn">按钮</button>
<div class="box">
<p id="con" class="con show">concon</p>
</div>
var oBtn = document.getElementById("btn");
var oCon = document.getElementById("con");
oBtn.onclick = function () {
// oCon.className = "red";
// console.log(oCon.className); //red
oCon.className = "con show red";
//这个red类已经存在于元素的属性中,那么它将被忽略
oCon.className += " red";
console.log(oCon.classList.length); //3
//在原有的类名基础上添加一个类名
//oCon.classList.add("red");
// 在原有的类名基础上 移出某一个类名
// oCon.classList.remove("con");
// 如果有这个类名 则删除这个类名,如果没有 则添加减去
//oCon.classList.toggle("blue");
// 判断元素是否包含某一个类名
//console.log(oCon.classList.contains("con"));
// 根据索引 获取类名
//console.log(oCon.classList.item(0)); //con
}
网友评论