docs.rodeo

MDN Web Docs mirror

DOMTokenList

{{APIRef("DOM")}} 

The DOMTokenList interface represents a set of space-separated tokens. Such a set is returned by {{domxref("Element.classList")}}  or {{domxref("HTMLLinkElement.relList")}} , and many others.

A DOMTokenList is indexed beginning with 0 as with JavaScript {{jsxref("Array")}}  objects. DOMTokenList is always case-sensitive.

Instance properties

Instance methods

Examples

In the following simple example, we retrieve the list of classes set on a {{htmlelement("p")}}  element as a DOMTokenList using {{domxref("Element.classList")}} , add a class using {{domxref("DOMTokenList.add()")}} , and then update the {{domxref("Node.textContent")}}  of the <p> to equal the DOMTokenList.

First, the HTML:

<p class="a b c"></p>

Now the JavaScript:

let para = document.querySelector("p");
let classes = para.classList;
para.classList.add("d");
para.textContent = `paragraph classList is "${classes}"`;

The output looks like this:

{{ EmbedLiveSample('Examples', '100%', 60) }} 

Trimming of whitespace and removal of duplicates

Methods that modify the DOMTokenList (such as {{domxref("DOMTokenList.add()")}} ) automatically trim any excess {{Glossary("Whitespace")}}  and remove duplicate values from the list. For example:

<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}"`;

The output looks like this:

{{ EmbedLiveSample('Trimming_of_whitespace_and_removal_of_duplicates', '100%', 60) }} 

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

In this article

View on MDN