Nicht erfasster TypeError: document.getElementById(...) ist null – Reihenfolge der Elemente ist in Ordnung, ID ist bekan

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Nicht erfasster TypeError: document.getElementById(...) ist null – Reihenfolge der Elemente ist in Ordnung, ID ist bekan

by Guest » 19 Jan 2025, 21:06

Ich weiß, dass das nichts Neues ist und ich habe ein paar Tipps gefunden, wie man das Problem lösen kann. Aber ich kann es nicht loswerden. Das ist mein einfacher Code:

Code: Select all



SVG Test


Select a circle







// do this if selected
function handleClick(elementId) {
alert('"' + elementId + '" selected');
}

// event listener
document.getElementById("circle").addEventListener("click", function () {
handleClick("circle");
});

// event listener
document.getElementById("circle_in_svg").addEventListener("click", function () {
handleClick("circle_in_svg");
});




Dies zeigt zwei Kreise.
Die SVG-Datei „circle.svg“ hat genau den gleichen Inhalt wie die drei Zeilen unter . Nur die ID wird von „circle“ in „circle_in_svg“ geändert.
Das ist also die Situation:
  • < script >... liegt unter < object >... d. h. „circle_in_svg“ sollte bekannt sein.
  • Die beiden Kreise werden in der richtigen Reihenfolge angezeigt: zuerst der Kreis in der Datei, Zweitens der Kreis inline.
  • 'defer' oder 'async' hilft nicht. Übrigens: Beides wegzulassen bedeutet für mich: Laden Sie die Datei und fahren Sie nach fort, nachdem die Datei geladen wurde, sodass die ID verfügbar sein sollte.
Nach dem Laden dieser Seite erhalte ich die Fehlermeldung (F12 in Mozilla): „Uncaught TypeError: document.getElementById(...) is null“. Und natürlich funktioniert es nicht wie vorgesehen...
Irgendeine Hilfe?

Top