情况
我有一个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=最终状态;