JavaScript:UncaughtTypeError:无法读取属性';追加儿童';空的

JavaScript:UncaughtTypeError:无法读取属性';追加儿童';空的,javascript,appendchild,Javascript,Appendchild,我是一名初学者,目前正在开发一款记忆卡游戏。请帮帮我 以下是错误消息适用的我的代码: HTML Javascript var createBoard = function() { for (var i = 0; i < cards.length; i++) { var cardElement = document.createElement('img'); cardElement.setAttribute('src', "images/back.

我是一名初学者,目前正在开发一款记忆卡游戏。请帮帮我

以下是错误消息适用的我的代码:

HTML


Javascript

var createBoard = function() {
    for (var i = 0; i < cards.length; i++) {
        var cardElement = document.createElement('img');
        cardElement.setAttribute('src', "images/back.png");
        cardElement.setAttribute('data-id', i);
        document.getElementsByTagName('img')[0].addEventListener('click', flipCard);
        document.querySelector('game-board').appendChild(cardElement);
    }
}


createBoard();
var createBoard=function(){
对于(变量i=0;i
如果不将元素附加到DOM,则无法访问元素。。在编写代码时,您正在创建img标记,并尝试在附加它们之前访问它们。 这是修改后的代码

document.getElementsByTagName('img')[0].addEventListener('click', flipCard);
document.querySelector('game-board').appendChild(cardElement);
var createBoard=function(){
对于(变量i=0;i<5;i++){
var cardElement=document.createElement('img');
setAttribute('src',“images/back.png”);
setAttribute('data-id',i);
document.querySelector(“.game board”).appendChild(cardElement);
document.getElementsByTagName('img')[0].addEventListener('click',cardElement);
}
}
createBoard()

错误“无法读取null的属性'appendChild'”意味着您与appendChild的行的计算结果为

null.appendChild(cardElement);
换句话说,
document.querySelector('game-board')
必须计算为null,并且null没有
appendChild
方法

解决方案:可能
querySelector
中的选择器错误;检查一下

如果游戏板是一个类,它应该是

document.querySelector('.game-board')
document.querySelector('#game-board')
如果游戏板是一个id,它应该是

document.querySelector('.game-board')
document.querySelector('#game-board')

在querySelector中粘贴您的htmlI思考问题。如果基于类的选择使用document.querySelector(“游戏板”);或基于Id的使用文档;谢谢你的澄清。这是有道理的;然而,当我在添加事件侦听器之前添加元素时,仍然收到相同的错误消息;但是,在为id添加正确的语法后,错误消息仍在出现。您是否尝试过@sheplu将代码移到文件末尾?如果您的代码在