Lage

Ich habe einen HTML-Code, der bei jedem erneuten Laden ein zufälliges Wort anzeigen soll.

Problem

Ich habe folgendes HTML:

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

Ich möchte den Wert von status in ein anderes zufälliges Wort als lebendig ändern. Ich habe diese Variablen in einem Array gespeichert und ich habe eine Funktion, die onload() ausführt:

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

Error

Beim erneuten Laden meiner Seite wird jedoch der folgende Fehler in der Konsole angezeigt:

Uncaught TypeError: Cannot set property 'innerHTML' of null

Ideales Ergebnis

Ich würde gerne wissen, was ich falsch mache und wie ich es beheben kann, idealerweise nur mit Javascript, aber ich kann bei Bedarf jQuery verwenden.

0
Alex Hawking 24 Feb. 2020 im 09:39

5 Antworten

Beste Antwort

Sie greifen auf eine ID user zu, die nicht vorhanden ist. Wahrscheinlich wolltest du haben

document.GetElementById('status')

1
Prakhar Londhe 24 Feb. 2020 im 06:43
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>
2
Shiv Patne 24 Feb. 2020 im 06:45

Um das Statuselement zu erhalten, müssen Sie die ID verwenden, die "Status" und nicht "Benutzer" ist

Var _ele = document.getElementById ('status');

_ele.innerHTML = finalStatus;

0
YasirNisar 24 Feb. 2020 im 06:47

Es gibt kein Element mit der ID 'Benutzer'.

Ersetzen

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

Mit

Document.getElementById ('status'). innerHTML = finalStatus;

1
Sami Farhat 24 Feb. 2020 im 06:43

Ändere user in status

function changeStatus() {
   let statuses = ['Existing', 'Vibing'];
   let finalStatus = statuses[Math.floor(Math.random() * statuses.length)];
   document.getElementById('status').innerHTML = finalStatus;
}
1
Abdelrahman Gobarah 24 Feb. 2020 im 06:44