首页 > 解决方案 > 错误无法读取未定义的属性“添加”

问题描述

我有点坚持我的练习。我知道有很多关于这个错误的问题,但我找不到我的答案。我希望你能帮忙!

这是我的代码:

let mijnDivs = document.querySelectorAll('div')
let i = 0;
let woorden = ["kip", "konijn", "paard", "varken", "gerbil", "hamster",
  "rat", "zeeduivel", "narwal", "orka"
];
while (i < mijnDivs.length) {
  i++;
}
setInterval(() => {
  twoSec();
}, 2000);

function randomNumber(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

function twoSec(woorden) {
  let randomWords = this.classList.add(woorden[randomNumber(0, 9)])
}

标签: javascriptarraysclassrandomsetinterval

解决方案


首先,woorden是一个全局变量,你不应该将它指定为twoSec函数的参数。

其次,您应该遍历 中的 DIV mijnDivs,并在那里设置类列表。

function twoSec() {
  for (let i = 0; i < mijnDivs.length; i++) {
    mijnDivs[i].classList.add(woorden[randomNumber(0, 9)]);
  }
}

推荐阅读