Как исправить ошибку: Failed to execute 'appendChild' on 'Node'

122
08 июня 2019, 19:00
this.field = [];
let num = 0;
for (let i = 0; i < sizeX; i++) {
    this.field[i] = [];
    for (let k = 0; k < sizeY; k++) {
        if (k%2!==0) {
            this.field[i][k] = new Cell(num)
            num++
        }
        else 
            this.field[i][k] = new Cell(num)
    }
};
// ...
for(let i = 0; i<this.field.length; i++){
    for(let k = 0; k< this.field[i].length; k++){
        this.fielElement.appendChild(this.field[i][k]);
    }
}

При выполнении appendChild появляется следующая ошибка

Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

Подскажите, как ее можно исправить?

Answer 1

Первым параметром у appendChild должен быть Node, О чем и говорится в ошибке.

В коде же передается экземпляр класса Cell, который, очевидно не является элементом.

Вероятнее всего внутри этого экземпляра есть ссылка на html элемент, который и надо добавлять.

READ ALSO
Как связать скрипт нажатия кнопки и скрипт работы с содержимым страницы в расширении Google Chrome

Как связать скрипт нажатия кнопки и скрипт работы с содержимым страницы в расширении Google Chrome

Сделал расширение, при клике на его иконку всплывает pop-up с кнопкой при нажатии на которую, открываются все ссылки на странице с определенным...

124
Ошибка 500 при выполнении запроса /wd/hub/sessions к docker-selenium

Ошибка 500 при выполнении запроса /wd/hub/sessions к docker-selenium

Запускаем Selenium-сервер (elgalu/docker-selenium):

102
Не работает ajax запрос Asp.net MVC

Не работает ajax запрос Asp.net MVC

Есть контроллер с методом

118
Как остановить таймер в данном случае node js

Как остановить таймер в данном случае node js

есть функция которая запускает таймер на сервере node js

148