"无法设置属性&inner;内部HTML' of null"按钮单击时出错

时间:2015-11-25 20:14:35

标签: javascript html

我一直收到这个错误!这个错误的所有其他帖子都说尝试window.onload = function,但是我只是在页面加载时得到了同样的错误。以下是相关代码:

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() {

window.onload = function pickW (){

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

编辑:

<button onclick="rand() ;pickW() ;">Click Here to choose a Random Word!</button>
<p id="impword">Ready?</p>

相关的HTML代码

1 个答案:

答案 0 :(得分:2)

有一个<div>,其ID为#34; impword&#34;。这是一个好的开始。

但是这个:

document.getElementById(impword)

表示&#34;为我提供名为id&#34;的变量中包含impword的元素。你没有这样的变数。

你的意思是:

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