在“ forEach”函数中为“ this”设置样式

时间:2019-09-22 12:47:21

标签: javascript html styling

我正在尝试构建一个小工具供自己使用,以便在我即将进行的项目中使用,但是我遇到了一个小问题。

由于某种原因我在forEach Function中添加样式时,它没有成功!

所以这是我的代码:

void loop()  {

  char c = Serial.read();

  if (c == 'F') {
    Serial.println("F!");
  }

  if (c == 'B') {
    Serial.println("B!");
  }

  if (c == 'L') {
    Serial.println("L!");
  }

  if (c == 'R') {
    Serial.println("R!");
  }

  if (c == 'S') {
    Serial.println("S!");
  }
}

1 个答案:

答案 0 :(得分:0)

您未在正确的this范围内工作。而是使用el作为元素参数并引用该范围。

let dataAttr = "[data-att1], [data-att2], [data-att3]";
let dataMain = document.querySelectorAll(dataAttr);
let p = "px";

const mainFn = () => {
  dataMain.forEach(function (el) {
    el.style.marginBottom = document.querySelector('[data-att1]').getAttribute('data-att1') + p;
    el.style.marginTop = document.querySelector('[data-att3]').getAttribute('data-att3') + p;
  });
};