DOMTokenList
DOMTokenList 接口表示一组由空格分隔的标记(token)。例如,Element.classList 或 HTMLLinkElement.relList 以及许多其他属性会返回这样的集合。
DOMTokenList 与 JavaScript 的 Array 对象一样,从 0 开始索引。DOMTokenList 始终区分大小写。
实例属性
- DOMTokenList.length只读
- 
一个 integer,表示对象中存储的对象数量。
- DOMTokenList.value
- 
一个 字符串转换器(stringifier) 属性,以字符串形式返回列表的值。 
实例方法
- DOMTokenList.item()
- 
根据索引返回列表中的项,如果索引大于或等于列表的 length,则返回null。
- DOMTokenList.contains()
- 
如果列表包含给定标记,则返回 true,否则返回false。
- DOMTokenList.add()
- 
将指定的标记添加到列表中。 
- DOMTokenList.remove()
- 
从列表中移除指定的标记。 
- DOMTokenList.replace()
- 
用另一个标记替换现有标记。 
- DOMTokenList.supports()
- 
如果给定标记存在于关联属性支持的标记列表中,则返回 true。
- DOMTokenList.toggle()
- 
如果令牌存在于列表中,则将其移除;如果不存在,则将其添加到列表中。返回一个布尔值,指示操作后令牌是否在列表中。 
- DOMTokenList.entries()
- 
返回一个 迭代器(iterator),允许您遍历对象中包含的所有键/值对。 
- DOMTokenList.forEach()
- 
为 DOMTokenList中的每个元素执行一次提供的回调函数。
- DOMTokenList.keys()
- 
返回一个 迭代器(iterator),允许您遍历对象中包含的所有键/值对的键。 
- DOMTokenList.toString()
- 
返回 DOMTokenList.value,即列表中由空格分隔的值组成的字符串。
- DOMTokenList.values()
- 
返回一个 迭代器(iterator),允许您遍历对象中包含的所有键/值对的值。 
示例
在下面的简单示例中,我们使用 Element.classList 获取 <p> 元素上设置的类列表(作为 DOMTokenList),然后使用 DOMTokenList.add() 添加一个类,最后将 <p> 的 Node.textContent 更新为等于 DOMTokenList 的值。
首先,HTML 代码
<p class="a b c"></p>
现在是 JavaScript 代码
let para = document.querySelector("p");
let classes = para.classList;
para.classList.add("d");
para.textContent = `paragraph classList is "${classes}"`;
输出如下所示
修剪空格并移除重复项
修改 DOMTokenList 的方法(例如 DOMTokenList.add())会自动修剪任何多余的 空格 并从列表中移除重复的值。例如:
<span class="    d   d e f"></span>
let span = document.querySelector("span");
let classes = span.classList;
span.classList.add("x");
span.textContent = `span classList is "${classes}"`;
输出如下所示
规范
| 规范 | 
|---|
| DOM # interface-domtokenlist | 
浏览器兼容性
加载中…