# className

  1. classList

classList 属性返回元素的类名,作为 DOMTokenList 对象。该属性用于在元素中添加,移除及切换 CSS 类。classList 可以使用 add() 和 remove() 方法修改它。

不兼容IE10以下

element.classList
属性 Description
length 返回类列表中类的数量 该属性是只读的

# classList的方法

方法 描述
add(class1, class2, ...) 在元素中添加一个或多个类名。如果指定的类名已存在,则不会添加
contains(class) 返回布尔值,判断指定的类名是否存在。可能值:true - 元素包已经包含了该类名 false - 元素中不存在该类名
item(index) 返回元素中索引值对应的类名。索引值从 0 开始。如果索引值在区间范围外则返回 null
remove(class1, class2, ...) 移除元素中一个或多个类名。注意: mdn表示删除不存在的类值会导致抛出异常,实际操作并没有发生(谷歌浏览器)
toggle(class, true|false) 在元素中切换类名。第一个参数为要在元素中移除的类名,并返回 false。 如果该类名不存在则会在元素中添加类名,并返回 true。 第二个是可选参数,是个布尔值用于设置元素是否强制添加或移除类,不管该类名是否存在。例如:移除一个 class: element.classList.toggle("classToRemove", false); 添加一个 class: element.classList.toggle("classToAdd", true);
replace( oldClass, newClass ) 用一个新类值替换已有的类值。( Safari目前可能不支持 )

# eg

//为 <div> 元素添加多个类:
document.getElementById("myDIV").classList.add("mystyle", "anotherClass", "thirdClass");
//为 <div> 元素移除一个类:
document.getElementById("myDIV").classList.remove("mystyle");
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
	</head>
	<body>
			<div class="ew ss">12</div>
	</body>
</html>
<script type="text/javascript">
	let s=document.getElementsByClassName("ss")[0]
	console.log(s.classList)
	//["ew", "ss", value: "ew ss"]
</script>
  1. 直接操作dom元素的className Property
<!DOCTYPE html>
<html>
	<body>
		<div class="ew ss">12</div>
	</body>
</html>
<script type="text/javascript">
	let s=document.getElementsByClassName("ss")[0]
	console.log(s.className)//ew ss 
	s.className="k3"
	console.log(s.className)//k3
	s.className+=" k2"
</script>

s.className+=" k2"//记得要空格,要不然会和之前的className连接在一起变成一个class

  1. 使用attribute修改class
<!DOCTYPE html>
<html>
	<body>
			<div class="ew ss">12</div>
	</body>
</html>
<script type="text/javascript">
	let s=document.getElementsByClassName("ss")[0]
	console.log(s.getAttribute('class'))//ew ss
	s.setAttribute('class','wecan')
	console.log(s.getAttribute('class'))//wecan
</script>
最后更新: 7/14/2021, 12:41:07 PM