Ich muss Vanilla JavaScript für ein Projekt verwenden. Ich habe ein paar Funktionen, von denen eine eine Schaltfläche ist, die ein Menü öffnet. Es funktioniert auf Seiten, auf denen die Ziel-ID existiert, verursacht jedoch einen Fehler auf Seiten, auf denen die ID nicht existiert. Auf den Seiten, auf denen die Funktion die ID nicht finden kann, erhalte ich die Fehlermeldung "Ich kann die Eigenschaft 'addEventListener' von null nicht lesen" und keine meiner anderen Funktionen.Kann Eigenschaft 'addEventListener' von Null nicht lesen
Unten ist der Code für die Schaltfläche, die das Menü öffnet.
function swapper() {
toggleClass(document.getElementById('overlay'), 'open');
}
var el = document.getElementById('overlayBtn');
el.addEventListener('click', swapper, false);
var text = document.getElementById('overlayBtn');
text.onclick = function(){
this.innerHTML = (this.innerHTML === "Menu") ? "Close" : "Menu";
return false;
};
Wie gehe ich damit um? Wahrscheinlich muss ich diesen Code in eine andere Funktion schreiben oder eine if/else-Anweisung verwenden, damit nur auf bestimmten Seiten nach der ID gesucht wird, aber nicht genau.
können Sie den HTML-Code anzeigen. es scheint, dass Element mit der ID 'overlayBtn' nicht finden kann – BlaShadow
Auf den Seiten, auf denen die Funktion die ID nicht finden kann, erhalte ich eine "Kann nicht lesen Eigenschaft 'addEventListener' von null" Fehler und keine meiner anderen Funktionen funktionieren. Ich denke, die Antwort war ziemlich in der Frage. Sie konnten das Element nicht finden, daher können Sie ihm keinen Ereignis-Listener hinzufügen ... – Etai
Es kann einfach passieren, wenn Sie 'class' in Ihrem HTML anstelle von' id' verwendet haben und Sie ein 'getElementById' aufrufen in deinen Skripten. – Deke