dedlfix: JS kann Styleangeben nicht lesen? *teilw. gelöst

Beitrag lesen

Tach!

OK, getComputedStyle funktioniert auch. Nur wundert mich, warum hier, subjektiv gesehen, die JS-Syntax so seltsam anmutet. Das fängt schon damit an, dass die Variable in der Klammer nicht, wie gewohnt, in Anführungszeichen stehen soll.

Bitte? Wo stehen denn in Javascript Variablen in Anführungszeichen?

Was es mir dadurch schwierig macht, einen Weg zu finden das variabel zu lösen.

Variablen sind dir nicht variabel genug?

  • Meine ID lautet #p1, da sollte man meinen:
  • var navobj = window.getComputedStyle(#p1).display;
  • oder:
  • var navobj = window.getComputedStyle('p1').display;
  • oder noch besser:
  • var navobj = window.getComputedStyle('#p1').display;

Eine ID ist noch kein Element, und auch keine Variable. Aber das Element zu einer ID bekommst du über getElementById(). Das sollte eigentlich bekannt sein.

  • funktionieren tut aber nur:
  • var navobj = window.getComputedStyle(p1).display;

Nö, das funktioniert nur, wenn p1 eine Variable ist, die auf dein Element verweist.

Jetzt kommt das Problem, in der Funktion möchte ich ja den Wert variabel übermitteln: <button onclick="showcss('p1');">Eigenschaft von #p1</button> und dann innerhalb der Funktion: var navobj = window.getComputedStyle(id).display;

Das geht aber nicht, hmm... Lösungsvorschlag?

Erstmal das Element zur ID ermitteln.

*Wer sich über die Listenformatierung wundert... Liegt daran, dass hier wieder mal meine Zeilenumbrüche ignoriert werden und ich das damit kompensiere.

Code-Auszeichnung geht mit dem Symbol </>. Dann bleibt das formatiert wie es ist und wird sogar noch bunt.

dedlfix.