この記事はまだボランティアによって 日本語 に翻訳されていません。ぜひ MDN に参加して翻訳を手伝ってください!
この記事を English (US) で読むこともできます。

The forEach() method of the DOMTokenList interface calls the callback given in parameter once for each value pair in the list, in insertion order.

Syntax

tokenList.forEach(callback);
tokenList.forEach(callback, argument);

Parameters

callback
Function to execute for each element, eventually taking three arguments:
currentValue
The current element being processed in the array.
currentIndex
The index of the current element being processed in the array.
listObj
The array that forEach() is being applied to.
argument Optional
Value to use as this when executing callback.

Return value

undefined.

Example

In the following example we retrieve the list of classes set on a <span> element as a DOMTokenList using Element.classList. We when retrieve an iterator containing the values using forEach(), writing each one to the <span>'s Node.textContent inside the forEach() inner function.

HTML

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

JavaScript

var span = document.querySelector("span");
var classes = span.classList;
var iterator = classes.values();

classes.forEach(
  function(value, key, listObj) {
    span.textContent += value + ' ' + key + "/" + this + '  ++  ';
  },
  "arg"
);

Result

Polyfill

This polyfill adds compatibility to all Browsers supporting 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);
        }
    };
}

Specifications

Specification Status Comment
DOM
The definition of 'forEach() (as iterable<Node>)' in that specification.
Living Standard Initial definition.

Browser Compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
forEachChrome Full support 45Edge Full support 16Firefox Full support 50IE No support NoOpera Full support 32Safari ? WebView Android Full support 45Chrome Android Full support 45Firefox Android Full support 50Opera Android Full support 32Safari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

See also

ドキュメントのタグと貢献者

このページの貢献者: depthdev, mdnwebdocs-bot, fscholz, korbnep, chrisdavidmills, farv, teoli
最終更新者: depthdev,