h3 Text ändern in JS?
Wie kann ich in JS den Text eines h3 tags ändern? egal was ich probiere, innerHTML, text, innerText oder html. Es kommt immer dieser Fehler:
Uncaught TypeError: Cannot set property 'innerText' of null
at eval (eval at <anonymous> (contact.php?error:%uEm%uS%uCt&FNV=fxbxcbxcb&LNV=xcbxcbxcb&mailSent:1), <anonymous>:1:54)
Wie behebe ich diesen Fehler?
4 Antworten
Du sprichst kein existierendes Element an. Zeig bitte deinen JavaScript- und HTML-Code damit man dir helfen kann.
Den ganzen code zeige ich lieber nicht, aber ich habe als erstes den script in dem die funktion steht, dann form_header und dann fürhre ich die funktion aus. Mitlerweile klappt es auch. Ich weiß nicht was anders ist. Cache habe ich auch zwischendurch gelehrt, aber danke ;)
let MailSent = function() {
let formHeadingP1 = document.getElementById('form_heading_p1');
let formHeadingP2 = document.getElementById('form_heading_p2');
let formHeadingH3 = document.getElementById('form_heading_h3');
formHeadingP1.remove();
formHeadingP2.remove();
formHeadingH3.innerHTML = "E-Mail wurde gesendet!";
}
Das Property innerText reicht vollkommen aus. Achte darauf, dein Skript erst aufzurufen, wenn die Seite (bzw. die Elemente, die du ansprechen möchtest) vollständig geladen wurde(n).
Hier ein funktionierendes Beispiel von deinem Code: https://jsfiddle.net/4h26zase/
Der Code, den du in einem Kommentar gezeigt hast, funktioniert wunderbar:
https://jsfiddle.net/vxf3dL1c/
Man muss daher vermutlich schon ein wenig mehr Code sehen. Was ich mir spontan vorstellen kann: Du führst das JavaScript aus, bevor das DOM-Element existiert. Sprich, dein JavaScript-Code steht vor dem h3-Tag. In dem Fall kann das Ganze nicht funktionieren.
Wie sieht denn dein js code aus? Um das innerHTML Feld anzusprechen musst du es auch auf ein Element Anwenden, das dies unterstützt. "null" bedeutet, dass das nicht wirklich geklappt hat^^