getElementById in deklaration

Bennyaa

Lieutenant
Registriert
März 2007
Beiträge
846
Hallo,
ich habe mir in einem Projekt folgende Daten angelegt:

Less:
let PageElement = {
                    elementA : getElementById("ElementA"),
                    elementB : getElementById("ElementB")
}

was haltet Ihr davon?

So muss ich mir nicht überall, wo ich auf das Element zugreifen möchte dieses wieder explizit holen,
sondern greife einfach wie folgt zu:

PHP:
PageElement.elementA.classList.......

Bin gespannt auf Eure Meinung dazu.
 
Das ist doch völlig gängig, Dinge in Variablen zu speichern, wenn man sie öfter nutzt :confused_alt:
 
  • Gefällt mir
Reaktionen: kim88, tollertyp und Drewkev
Bagbag schrieb:
Das ist doch völlig gängig, Dinge in Variablen zu speichern, wenn man sie öfter nutzt :confused_alt:
Danke, wollte ja nur mal hören, was man hier so darüber denkt, denn mir hat auch schon jemand gesagt, dass man sowas nicht machen solle, sondern lieber immer direkt abfragen usw.
Nach dieser Aussage habe ich mich nur gefragt: "WARUM"?
Ich habe ein statisches Element, warum sollte ich die Referenz dazu immer wieder neu anfragen
und an jeder Stelle die id eintragen?

Meine weitere Idee war jetzt: Diese Struktur in ein module aus zu lagern und somit jedem anderen module der Anwendung mit import zur Verfügung zu stellen.
 
Bennyaa schrieb:
lieber immer direkt abfragen
Das ist absoluter Schwachsinn meiner Meinung nach. Am besten sollte man auch Datenbankergebnisse nicht in eine Variable schreiben, sondern bei jeder Verwendung die Query neu durchführen? :hammer_alt:
 
  • Gefällt mir
Reaktionen: Kammi und Drewkev
Es gilt auch eindeutig. Es kommt darauf an.

Arbeitet mit AJAX und der DOM ändert sich häufig dynamisch, dann muss man auch wissen, wann man die Referenzen aktualisieren muss. Und wenn das viel häufiger passiert als die Nutzung der Referenzen selbst, dann kann man sich es wohl auch sparen.

Verallgemeinerungen sind halt immer falsch.
 
  • Gefällt mir
Reaktionen: netzgestaltung und Hakto
tollertyp schrieb:
Und wenn das viel häufiger passiert als die Nutzung der Referenzen selbst, dann kann man sich es wohl auch sparen.
Auch dann würde ich es auf Variablen setzen, um es an einer Stelle zu haben, statt bei Anpassungen durch den ganzen Code zu müssen.
 
also hier ist zu beachten, das getElementById() erst etwas finden kann, wenn der DOM geladen wurde. DH wenn das Event DOMContentLoaded, interactive oder complete gefeuert wurde (je nach ladeart).

Code:
document.addEventListener('DOMContentLoaded', function(){
  let PageElement = {
    elementA : getElementById("ElementA"),
    elementB : getElementById("ElementB")
  }
});
https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event
https://stackoverflow.com/questions...d-such-as-getelementbyid-not-find-the-element
 
  • Gefällt mir
Reaktionen: tollertyp
Zurück
Oben