`classList` API 还有哪些常用方法?
时间: 2024-09-22 11:02:24 浏览: 34
`classList` API 提供了一系列方便的操作类名集合的方法,除了 `contains()` 之外,还有以下几个常用方法:
1. **add()**: 向元素的类列表中添加一个或多个类。如果类已经存在,不会重复添加。
```javascript
const elem = document.getElementById('myElement');
elem.classList.add('newClass', 'anotherNewClass');
```
2. **remove()**: 从元素的类列表中移除一个或多个类。
```javascript
elem.classList.remove('oldClass');
```
3. **toggle()**: 如果类存在于列表中,就删除它;若不存在,则添加它。如果传入第二个参数,将强制切换到指定状态。
```javascript
elem.classList.toggle('active'); // 类别切换
elem.classList.toggle('active', true); // 强制添加类别
```
4. **replaceAll()**: 将所有匹配的类替换为新类列表中的对应类。
```javascript
elem.classList.replaceAll('newClasses', 'replacedClasses');
```
5. **indexOf()**: 返回某个类在类列表中的索引位置,找不到则返回 -1。
```javascript
let index = elem.classList.indexOf('myClass');
```
6. **item()**: 根据索引获取类名,类似数组访问。
```javascript
let className = elem.classList.item(0);
```
7. **toString()**: 转换成字符串形式显示所有的类名。
```javascript
let classNames = elem.classList.toString();
```
这些方法使得在JavaScript中处理类名操作变得非常直观和灵活。
阅读全文