--- title: DOMTokenList.forEach() slug: Web/API/DOMTokenList/forEach tags: - DOM - DOMTokenList - Iterable - Method - Reference - Web - forEach translation_of: Web/API/DOMTokenList/forEach ---
{{APIRef("DOM")}}
forEach() は {{domxref("DOMTokenList")}} インターフェイスのメソッドで、リスト中のそれぞれの値の組に対して挿入順で 1 回ずつ、引数で渡されたコールバックを呼び出します。
tokenList.forEach(callback [, thisArg]);
callbackcurrentValuecurrentIndexlistObjforEach() を実行中の配列です。thisArg {{Optional_inline}}callback を実行する際に {{jsxref("Operators/this", "this")}} として使用する値です。
{{jsxref('undefined')}}.
次の例では、 {{htmlelement("span")}} 要素に設定されたクラスのリストを DOMTokenList として受け取るのに {{domxref("Element.classList")}} を使用しています。 forEach() を使用して値を含む反復子を取得し、それぞれの値を <span> の {{domxref("Node.textContent")}} に forEach() の中の関数から書き込みます。
<span class="a b c"></span>
let span = document.querySelector("span");
let classes = span.classList;
let iterator = classes.values();
classes.forEach(
function(value, key, listObj) {
span.textContent += `${value} ${key}/${this} ++ `;
},
"arg"
);
{{ EmbedLiveSample('Example', '100%', 60) }}
この{{Glossary("Polyfill","ポリフィル")}}は、 ES5 に対応しているすべてのブラウザーに互換性を追加します。
if (window.DOMTokenList && !DOMTokenList.prototype.forEach) {
DOMTokenList.prototype.forEach = function (callback, thisArg) {
thisArg = thisArg || window;
for (var i = 0; i < this.length; i++) {
callback.call(thisArg, this[i], i, this);
}
};
}
| 仕様書 | 状態 | 備考 |
|---|---|---|
| {{SpecName('DOM WHATWG','#domtokenlist','forEach() (as iterable<Node>)')}} | {{Spec2('DOM WHATWG')}} | 初回定義 |
{{Compat("api.DOMTokenList.forEach")}}