首页 > 解决方案 > 尝试使用 ForEach() 更改数组中每个元素的样式

问题描述

我有一个函数可以在满足特定条件时创建新的 div。创建这些 div 后,我使用 .push() 将它们存储在一个数组中,如下所示:

function SnakeBody(){
  BodySnake = document.createElement("div");
  tabuleiro.appendChild(BodySnake); 
  BodySnake.classList.add("snakeBody");
  StorePositions.push(BodySnake) ; 
}

之后,当满足另一个条件时,我尝试在存储这些 div 的数组上使用 ForEach() 更改每个 div 上的样式元素,如下所示:

function SnakeBodyLeft(){
  StorePositions.forEach(element => {
    BodySnake.style.gridRowStart = (Initial_y + y);
    BodySnake.style.gridColumnStart = (Initial_x + x)+1 ;
  });
};

这个想法是:

1 - 使用 ForEach() 为数组中的每个元素运行一个函数。

2 - 运行的函数应该改变数组中每个元素的值/样式。

但是,这不起作用,我看不到我缺少什么?

标签: javascriptarraysforeach

解决方案


StorePositions.forEach(...)你必须使用element. BodySnake只能在function SnakeBody().


推荐阅读