aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/domtokenlist/index.html
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>&lt;p&gt;</code>{{domxref("Node.textContent")}}<code>DOMTokenList</code> と等しくなるように更新します。</p>

<p>まず、 HTML は以下のとおりです。</p>

<pre class="brush: html">&lt;p class="a b c"&gt;&lt;/p&gt;</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">&lt;span class="    d   d e f"&gt;&lt;/span&gt;</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>