NodeList.prototype.forEach()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2017.
La méthode forEach() de l'interface NodeList appelle le rappel donné en paramètre une fois pour chaque paire de valeurs dans la liste, dans l'ordre d'insertion.
Syntaxe
nodeList.forEach(callback[, thisArg]);
Paramètres
callback-
Fonction à exécuter pour chaque élément, contenant éventuellement 3 arguments :
currentValue-
L'élément en cours de traitement dans la NodeList.
currentIndex-
L'index de l'élément en cours de traitement dans la NodeList.
listObj-
L'objet NodeList auquel
forEach()est appliqué.
thisArgFacultatif-
Valeur à utiliser comme
thislors de l'exécution ducallback(rappel).
Valeur retournée
undefined (indéfini).
Exceptions
Aucune.
Exemple
var node = document.createElement("div");
var kid1 = document.createElement("p");
var kid2 = document.createTextNode("hey");
var kid3 = document.createElement("span");
node.appendChild(kid1);
node.appendChild(kid2);
node.appendChild(kid3);
var list = node.childNodes;
list.forEach(function (currentValue, currentIndex, listObj) {
console.log(currentValue + ", " + currentIndex + ", " + this);
}, "myThisArg");
résultat :
[object HTMLParagraphElement], 0, myThisArg [object Text], 1, myThisArg [object HTMLSpanElement], 2, myThisArg
Polyfill
Ce polyfill ajoute une compatibilité à tous les navigateurs prenant en charge 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);
}
};
}
Spécifications
| Specification |
|---|
| DOM> # interface-nodelist> |
Compatibilité des navigateurs
Chargement…