--- title: DOMTokenList slug: Web/API/DOMTokenList translation_of: Web/API/DOMTokenList ---
{{APIRef("DOM")}}

DOMTokenList интерфейс представляет собой набор разделённых пробелами токенов. Такой набор возвращается от {{domxref("Element.classList")}}, {{domxref("HTMLLinkElement.relList")}}, {{domxref("HTMLAnchorElement.relList")}}, {{domxref("HTMLAreaElement.relList")}}, {{domxref("HTMLIframeElement.sandbox")}}, или {{domxref("HTMLOutputElement.htmlFor")}}. Он в начале индексируется 0 как в объектах JavaScript.  DOMTokenList всегда чувствителен к регистру.

Свойства

{{domxref("DOMTokenList.length")}} {{ReadOnlyInline}}
- целое число, которое представляет собой число объектов хранящееся в объекте
{{domxref("DOMTokenList.value")}}
Список значений  {{domxref("DOMString")}}.

Методы

{{domxref("DOMTokenList.item()")}}
Возвращает элемент из списка по индексу (возвращает undefined если число больше или равно длине списка).
{{domxref("DOMTokenList.contains()")}}
Возвращает true если список содержит отданный токен, иначе false.
{{domxref("DOMTokenList.add()")}}
Добавляет отданный токен в список.
{{domxref("DOMTokenList.remove()")}}
Удаляет указанный токен из списка.
{{domxref("DOMTokenList.replace()")}}
Заменяет существующий токен новым.
{{domxref("DOMTokenList.supports()")}}
Возвращает true если отданный токен поддерживается токенами в связанном атрибуте
{{domxref("DOMTokenList.toggle()")}}
Удаляет отданный токен из списка и возвращает false. Если токена не существует, то он добавляется и функция возвращает true.
{{domxref("DOMTokenList.entries()")}}
Возвращает {{jsxref("Iteration_protocols","iterator")}} позволяя пройтись по всем парам ключ/значение хранящимся в объекте.
{{domxref("DOMTokenList.forEach()")}}
Выполняет предусмотренную функцию к каждому элементу DOMTokenList.
{{domxref("DOMTokenList.keys()")}}
Возвращает {{jsxref("Iteration_protocols", "iterator")}} позволяя пройтись по всем ключам всех пар ключ/значение, хранящихся в объекте.
{{domxref("DOMTokenList.values()")}}
Возвращает {{jsxref("Iteration_protocols", "iterator")}} позволяя пройтись по всем значениям пар ключ/значение, хранящихся в объектах.

Примеры

В следующем простом примере мы извлекаем список классов установленных в элементе {{htmlelement("p")}} как DOMTokenList используя {{domxref("Element.classList")}}, добавляем класс используя {{domxref("DOMTokenList.add()")}}, затем обновляем {{domxref("Node.textContent")}} в элементе <p> чтобы уравнять с DOMTokenList.

Сперва HTML:

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

Теперь JavaScript:

var para = document.querySelector("p");
var classes = para.classList;
para.classList.add("d");
para.textContent = 'paragraph classList is "' + classes + '"';

Результат выглядит так:

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

Обрезка пробелов и удаление дупликатов

Метод, который модифицирует DOMTokenList (как {{domxref("DOMTokenList.add()")}}) автоматически обрезает все излишки {{Glossary("Whitespace")}} и удаляет значения дупликатов из списка. Пример: 

<span class="    d   d e f"></span>
var span = document.querySelector("span");
var classes = span.classList;
span.classList.add("x");
span.textContent = 'span classList is "' + classes + '"';

Результат выглядит так:

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

Характеристики

Характеристики Статус Комментарий
{{SpecName("DOM WHATWG", "#interface-domtokenlist", "DOMTokenList")}} {{Spec2("DOM WHATWG")}} Начальное определение

Совместимость браузера

{{Compat("api.DOMTokenList")}}

Смотрите также: