📅  最后修改于: 2023-12-03 15:35:11.534000             🧑  作者: Mango
SVG元素的.classList属性用于操作元素的类名列表。它的行为类似于HTML元素的classList属性,但是它具有一些额外的特性,因为SVG元素可以包含在HTML文档中,也可以独立使用。
let classes = element.classList;
返回一个DOMTokenList对象,其中包含元素的类名列表。
添加一个或多个类名到元素的类名列表中。如果类名已经存在,则不会重复添加。
语法:
element.classList.add(class1 [, class2, ...]);
从元素的类名列表中移除一个或多个类名。
语法:
element.classList.remove(class1 [, class2, ...]);
检查元素的类名列表中是否包含指定的类名,并返回一个布尔值。
语法:
element.classList.contains(class);
在元素的类名列表中切换指定类名的状态。
如果元素的类名列表中存在指定的类名,则该类名将被移除,并返回false。如果元素的类名列表中不存在指定的类名,则该类名将被添加,并返回true。
如果只提供一个参数,则在该参数存在和不存在之间切换。
如果提供第二个参数,则它将用于指示是否强制添加或移除类名。
语法:
element.classList.toggle(class [, force]);
根据其在类名列表中的索引返回一个类名。
语法:
element.classList.item(index);
用一个新的类名替换类名列表中的某个类名。
语法:
element.classList.replace(oldClass, newClass);
<svg>
<rect id="myRect" class="rectClass"></rect>
</svg>
<script>
var rect = document.getElementById("myRect");
rect.classList.add("newClass"); // 添加新类名
rect.classList.remove("rectClass"); // 移除旧类名
console.log(rect.classList.contains("newClass")); // 返回 true
console.log(rect.classList.contains("rectClass")); // 返回 false
</script>