NodeList.prototype.forEach()

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

El método forEach() de la interfase NodeList llama a la función callback proporcionada como parámetro una vez para cada  par de valores en la lista, en el orden en que se insertaron. 

Syntax

nodeList.forEach(callback[, thisArg]);

Parámetros

callback
Función a ser ejecutada para cada elemento, tomando eventualmente 3 argumentos:
currentValue
El valor que esta siendo procesado en la lista de nodos.
currentIndex
El índice del elemento que esta siendo procesado en la lista de nodos.
listObj
El objeto NodeList al que se está aplicando el método forEach() .
thisArg Optional
Valor a ser usado como this al ejecutar callback.

Valor Retornado

undefined.

Excepciones

Ninguna.

Ejemplo

var nodo = document.createElement("div");
var infante1 = document.createElement("p");
var infante2 = document.createTextNode("hey");
var infante3 = document.createElement("span");

nodo.appendChild(infante1);
nodo.appendChild(infante2);
nodo.appendChild(infante3);

var list = nodo.childNodes;

list.forEach( 
  function(currentValue, currentIndex, listObj) { 
    console.log(currentValue + ', ' + currentIndex + ', ' + this); 
  },
  'miEsteArg'
);

resulta en:

[object HTMLParagraphElement], 0, miEsteArg
[object Text], 1, miEsteArg
[object HTMLSpanElement], 2, miEsteArg

Polyfill

Este polyfill le da compatibilidad a todos los navegadores que soportan ES5:

if (window.NodeList && !NodeList.prototype.forEach) {
    NodeList.prototype.forEach = function (callback, thisArg) {
        thisArg = thisArg || window;
        for (var i = 0; i < this.length; i++) {
            callback.call(thisArg, this[i], i, this);
        }
    };
}

Especificaciones

Especificación

  Status Comentarios
DOM
La definición de 'NodeList' en esta especificación.
Living Standard Define NodeList como <Nodo>iterable
Web IDL
La definición de 'forEach' en esta especificación.
Candidate Recommendation Define forEach en declaracionesiterables 

Compatibilidad en Navegadores

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Soporte básico511650 No3810
FeatureAndroid webviewChrome para AndroidEdge mobileFirefox para AndroidOpera AndroidiOS SafariSamsung Internet
Soporte básico5151 ?50 ?105.0

Ver también

Etiquetas y colaboradores del documento

Colaboradores en esta página: jesumv
Última actualización por: jesumv,