Javascript &引用;无法设置属性';innerHTML';“无效”的定义;单击按钮时出错

Javascript &引用;无法设置属性';innerHTML';“无效”的定义;单击按钮时出错,javascript,html,Javascript,Html,我老是犯那个错误!关于这个错误的所有其他帖子都说要尝试window.onload=函数,但是我得到了相同的错误,就在页面加载上。以下是相关代码: var word = ["is", "an", "array"]; var people = ["is", "an", "array"]; var word = ["is", "an", "array"]; var num = 1; var wlong = word.length; var plong = people.length; var qlon

我老是犯那个错误!关于这个错误的所有其他帖子都说要尝试window.onload=函数,但是我得到了相同的错误,就在页面加载上。以下是相关代码:

var word = ["is", "an", "array"];
var people = ["is", "an", "array"];
var word = ["is", "an", "array"];
var num = 1;
var wlong = word.length;
var plong = people.length;
var qlong = Q.length;
var wordPicked = 0;
var peoplePicked = 0;
var QPicked = 0;
function rand() {
    num = Math.random();
}

function pickW() {
    wordPicked = Math.floor(num * wlong);
    document.getElementById(impword).innerHTML = word[wordPicked];
}

function pickP() {
    peoplePicked = Math.floor(num * plong);
    document.getElementById(imppeep).innerHTML = people[peoplePicked];
}

function pickQ() {
    QPicked = Math.floor(num * qlong);
    document.getElementById(impquo).innerHTML = Q[QPicked];
}
通过这种方式,我试图在每次单击按钮{出于好奇,它调用rand();然后pickW();}时获得数组的随机元素,但我一直在这一部分得到错误:

~~~innerHTML = word[wordPicked];
老实说,我只是不知道该怎么办。就像我之前说的,当我转身

pickW() {
进入

然后,我只是在页面加载而不是单击时得到相同的错误

编辑:

点击这里选择一个随机单词!
准备好了吗

相关HTML代码

您确实有一个id为“impword”的
。这是一个好的开始

但这是:

document.getElementById(impword)
表示“获取包含在名为
impword
的变量中的
id
的元素”。你没有这样的变量

你的意思是:

document.getElementById("impword").innerHTML = word[wordPicked];

您正在选择一个变量,它是否已定义?或者您是否忘记将impword、imppeep和impquo括在引号中?“无法将innerhtml设置为null”,这意味着您的一个getelementbyid调用失败,并且没有返回dom元素。另外,使用函数onClick也可以,建议在加载时使用它,而不是在DOM可能尚未加载时在head中调用它。我不知道,但我认为您必须清除函数rand(){//stuff},而不是rand(){//stuff}。请用您正在使用的实际代码更新您的问题,包括此JavaScript所使用的HTML。
document.getElementById
调用无法返回元素,因此可能是您没有具有该id的元素。
document.getElementById(impword)
document.getElementById("impword").innerHTML = word[wordPicked];