Maison >interface Web >js tutoriel >Comment itérer correctement sur les résultats `getElementsByClassName()` en JavaScript ?
Erreur : itération du résultat getElementsByClassName() avec Array.forEach
Lors de la tentative d'itération sur les éléments DOM à l'aide de getElementsByClassName() et du tableau. forEach, les utilisateurs peuvent rencontrer une erreur due au fait que getElementsByClassName() le fait ne renvoie pas de tableau.
Le résultat de getElementsByClassName() est une HTMLCollection, qui, dans les navigateurs modernes, diffère d'un tableau. Pour résoudre ce problème, convertissez HTMLCollection en tableau avant d'utiliser forEach. Ceci peut être réalisé grâce aux méthodes suivantes :
var els = document.getElementsByClassName("myclass"); Array.prototype.forEach.call(els, function(el) { // Do stuff here console.log(el.tagName); });
[].forEach.call(els, function (el) { // Do stuff here console.log(el.tagName); });
Array.from(els).forEach((el) => { // Do stuff here console.log(el.tagName); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!