blob: 4e033f9a6bd66298cb9e614fb29f81d0e26b9258 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
---
title: DOMTokenList
slug: Web/API/DOMTokenList
tags:
- API
- DOM
- DOMTokenList
- Interface
- Reference
- インターフェイス
translation_of: Web/API/DOMTokenList
---
<div>{{APIRef("DOM")}}</div>
<p><code><strong>DOMTokenList</strong></code> インターフェイスは、スペースで区切られたトークンのセットを表します。こうしたセットは {{domxref("Element.classList")}}、 {{domxref("HTMLLinkElement.relList")}}、 {{domxref("HTMLAnchorElement.relList")}}、 {{domxref("HTMLAreaElement.relList")}},、{{domxref("HTMLIframeElement.sandbox")}}、 {{domxref("HTMLOutputElement.htmlFor")}} 等から返されるものです。インデックスは JavaScript の {{jsxref("Array")}} オブジェクトのように <code>0</code> から始まります。 <code>DOMTokenList</code> は常に大文字と小文字を区別します。</p>
<h2 id="Properties" name="Properties">プロパティ</h2>
<dl>
<dt>{{domxref("DOMTokenList.length")}} {{ReadOnlyInline}}</dt>
<dd><code>integer</code> で、このオブジェクトに格納されているオブジェクトの数を表します。</dd>
<dt>{{domxref("DOMTokenList.value")}}</dt>
<dd>リストの値を {{domxref("DOMString")}} で表したものです。</dd>
</dl>
<h2 id="Methods" name="Methods">メソッド</h2>
<dl>
<dt>{{domxref("DOMTokenList.item()")}}</dt>
<dd>リスト内の項目をインデックス指定で返します (数値がリストの長さ以上であれば、 <code>undefined</code> を返します)。</dd>
<dt>{{domxref("DOMTokenList.contains()")}}</dt>
<dd>指定された<em>トークン</em>がリストに含まれていれば <code>true</code> を返し、そうでなければ <code>false</code>を返します。</dd>
<dt>{{domxref("DOMTokenList.add()")}}</dt>
<dd>指定された<em>トークン</em>をリストに追加します。</dd>
<dt>{{domxref("DOMTokenList.remove()")}}</dt>
<dd>指定された<em>トークン</em>をリストから削除します。</dd>
<dt>{{domxref("DOMTokenList.replace()")}}</dt>
<dd>既存の<em>トークン</em>を新しいトークンで置き換えます。</dd>
<dt>{{domxref("DOMTokenList.supports()")}}</dt>
<dd>指定された<em>トークン</em>が、関連付けられた属性で対応しているトークンであれば <code>true</code> を返します。</dd>
<dt>{{domxref("DOMTokenList.toggle()")}}</dt>
<dd>指定された<em>トークン</em>をリストから削除して <code>false</code> を返します。指定された<em>トークン</em>が存在しなければ、リストに追加して <code>true</code> を返します。</dd>
<dt>{{domxref("DOMTokenList.entries()")}}</dt>
<dd>このオブジェクト内に含まれるすべてのキーと値のペアを反復処理することができる {{jsxref("Iteration_protocols","iterator")}} を返します。</dd>
<dt>{{domxref("DOMTokenList.forEach()")}}</dt>
<dd><code>DOMTokenList</code> オブジェクトの各要素に対して、指定した関数を実行します。</dd>
<dt>{{domxref("DOMTokenList.keys()")}}</dt>
<dd>このオブジェクト内に含まれるすべてのキーと値のペアのうちキーを反復処理することができる {{jsxref("Iteration_protocols", "iterator")}} を返します。</dd>
<dt>{{domxref("DOMTokenList.values()")}}</dt>
<dd>このオブジェクト内に含まれるすべてのキーと値のペアのうち値を反復処理することができる {{jsxref("Iteration_protocols", "iterator")}} を返します。</dd>
</dl>
<h2 id="Examples" name="Examples">例</h2>
<p>以下の簡単な例では、 {{htmlelement("p")}} 要素のクラスのリストを {{domxref("Element.classList")}} を使用して <code>DOMTokenList</code> として受け取り、 {{domxref("DOMTokenList.add()")}} を使用してクラスを1つ追加し、最後に <code><p></code> の {{domxref("Node.textContent")}} が <code>DOMTokenList</code> と等しくなるように更新します。</p>
<p>まず、 HTML は以下のとおりです。</p>
<pre class="brush: html"><p class="a b c"></p></pre>
<p>そして JavaScript です。</p>
<pre class="brush: js">var para = document.querySelector("p");
var classes = para.classList;
para.classList.add("d");
para.textContent = 'paragraph classList is "' + classes + '"';</pre>
<p>出力結果はこのようになります。</p>
<p>{{ EmbedLiveSample('Examples', '100%', 60) }}</p>
<h2 id="Trimming_of_whitespace_and_removal_of_duplicates" name="Trimming_of_whitespace_and_removal_of_duplicates">ホワイトスペースのトリミングと重複の削除</h2>
<p><code>DOMTokenList</code> を編集するメソッド ({{domxref("DOMTokenList.add()")}} など) は、自動的にそのリストから余分な{{Glossary("Whitespace", "ホワイトスペース")}}をトリミングし、重複した値を削除します。例えば次のようになります。</p>
<pre class="brush: html"><span class=" d d e f"></span></pre>
<pre class="brush: js">var span = document.querySelector("span");
var classes = span.classList;
span.classList.add("x");
span.textContent = 'span classList is "' + classes + '"';</pre>
<p>出力結果はこのようになります。</p>
<p>{{ EmbedLiveSample('Trimming_of_whitespace_and_removal_of_duplicates', '100%', 60) }}</p>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
<th scope="col">状態</th>
<th scope="col">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName("DOM WHATWG", "#interface-domtokenlist", "DOMTokenList")}}</td>
<td>{{Spec2("DOM WHATWG")}}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2>
<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
<p>{{Compat("api.DOMTokenList")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{domxref("DOMSettableTokenList")}} (<code>DOMTokenList</code> を拡張して設定可能な <em>.value</em> プロパティを追加したオブジェクト)</li>
</ul>
|