ошибка Не удается прочитать свойство "добавить" из неопределенного - PullRequest
1 голос
/ 17 марта 2019

Я немного застрял с моей тренировкой.Я знаю, что есть много вопросов об этой ошибке, но я не смог найти свой ответ.Я надеюсь, что вы можете помочь!

Это мой код:

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)])
}

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Во-первых, woorden - это глобальная переменная, ее не следует указывать в качестве параметра функции twoSec.

Во-вторых, вы должны перебрать DIV в mijnDivs и установить там список классов.

function twoSec() {
  for (let i = 0; i < mijnDivs.length; i++) {
    mijnDivs[i].classList.add(woorden[randomNumber(0, 9)]);
  }
}
0 голосов
/ 17 марта 2019

Пример кода, который работал, но в соответствии с вашим исходным кодом, только последние div добавляются с именами классов

В установленное время ожидания измените вызов функции на twoSec(woorden,mijnDivs[i-1]); и измените функцию twoSec на

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