HTML, JS, 接收未捕获的类型错误: 当变量具有值时,无法设置 null 的属性'innerHTML'



情况

我有一个HTML,每次重新加载时我都想显示一个随机单词。

问题

我有以下HTML:

<h1 style="font-family: 'Oswald', ;">Alex is currently: <span style="color: rgba(25, 114, 120, 1);" id="status">Alive</span></h1>

我想将status的值更改为alive以外的随机字。我将这些变量存储在一个数组中,并且我有一个运行onload():的函数

function changeStatus() {
let statuses = ['Existing', 'Vibing'];
let finalStatus = statuses[Math.floor(Math.random() * statuses.length)];
document.getElementById('user').innerHTML = finalStatus;
}

错误

但是,当我重新加载页面时,控制台中会出现以下错误:

Uncaught TypeError: Cannot set property 'innerHTML' of null

理想结果

我想知道我做错了什么,以及如何修复它,最好只使用Javascript,但如果需要,我可以使用jQuery。

您正在访问一个不存在的iduser。也许你想要

document.GetElementById('status')

没有id为'user'的元素。

更换

document.getElementById('user').innerHTML = finalStatus;

document.getElementById('status'(.innerHTML=最终状态;

function changeStatus() {
let statuses = ['Existing', 'Vibing'];
let finalStatus = statuses[Math.floor(Math.random() * statuses.length)];
document.getElementById('status').innerHTML = finalStatus;
}
<h1 style="font-family: 'Oswald', ;">Alex is currently: <span style="color: rgba(25, 114, 120, 1);" id="status">Alive</span></h1>
<button onclick="changeStatus()">Change Status</button>

user更改为status

function changeStatus() {
let statuses = ['Existing', 'Vibing'];
let finalStatus = statuses[Math.floor(Math.random() * statuses.length)];
document.getElementById('status').innerHTML = finalStatus;
}

要获得status元素,您需要使用id,它是"status"而不是用户

var _ele=document.getElementById("状态"(;

_ele.innerHTML=最终状态;

最新更新