CSS-Eigenschaften auslesen
Heizer
- javascript
0 Thomas Meinike0 Heizer
0 Kai Lahmann0 Heizer0 Kai Lahmann0 Heizer
0 Heizer
Liebes Forum
Gibt es eine Möglichkeit, CSS Eigenschaften eines Tags auszulesen, die sich nicht im Tag selbst mit style="" befinden sondern zentral definiert wurden (im Kopf oder in seperater Datei). Wenn ich den Tag mit getElementById anspreche, bekomme ich diese nicht (in Mozilla).
Vielen Dank
Heizer
Hallo,
Gibt es eine Möglichkeit, CSS Eigenschaften eines Tags auszulesen, die sich nicht im Tag selbst mit style="" befinden sondern zentral definiert wurden (im Kopf oder in seperater Datei). Wenn ich den Tag mit getElementById anspreche, bekomme ich diese nicht (in Mozilla).
Probiere es mit unter N 6.x / Mozilla mit der Methode getComputedStyle() und im IE mit currentStyle (siehe meine Tipps 56 und 64).
MfG, Thomas
Hallo,
Gibt es eine Möglichkeit, CSS Eigenschaften eines Tags auszulesen, die sich nicht im Tag selbst mit style="" befinden sondern zentral definiert wurden (im Kopf oder in seperater Datei). Wenn ich den Tag mit getElementById anspreche, bekomme ich diese nicht (in Mozilla).
Probiere es mit unter N 6.x / Mozilla mit der Methode getComputedStyle() und im IE mit currentStyle (siehe meine Tipps 56 und 64).
Vielen dank, im Mozilla klappts schon, aber wo finde ich diese Methoden denn ordentlich documentiert? In SelfHTML fehlen sie ja leider. Da kommt auch der Verdacht, daß vielleicht noch viel mehr fehlt. Nach welchen Kriterien wurden denn die verschiedenen Möglichkeiten von Javascript in SelfHTML aufgenommen?
Keine Kritik, nur der wunsch es zu wissen von
Heizer
hi
Gibt es eine Möglichkeit, CSS Eigenschaften eines Tags auszulesen, die sich nicht im Tag selbst mit style="" befinden sondern zentral definiert wurden (im Kopf oder in seperater Datei). Wenn ich den Tag mit getElementById anspreche, bekomme ich diese nicht (in Mozilla).
neben Thomas' Lösung...
was spuckt ein window.alert(documeht.getElementById("id").style.left); aus?
Grüße aus Bleckede
Kai
hi
Gibt es eine Möglichkeit, CSS Eigenschaften eines Tags auszulesen, die sich nicht im Tag selbst mit style="" befinden sondern zentral definiert wurden (im Kopf oder in seperater Datei). Wenn ich den Tag mit getElementById anspreche, bekomme ich diese nicht (in Mozilla).
neben Thomas' Lösung...
was spuckt ein window.alert(documeht.getElementById("id").style.left); aus?
Leer!
was sollte das "left" denn bedeuten?
Grüße vom Starnberger See
Heizer
hi
was spuckt ein window.alert(documeht.getElementById("id").style.left); aus?
Leer!
was sollte das "left" denn bedeuten?
die left:-Eigenschaft von dem Element.... evtl doch besser mit etwas versuchen, was es immer gibt? ;)
alert(document.getElementyByTagName("body")[0].style.backgroundColor); ist evtl. interessanter (sollte die BG-Farbe vom Dokument geben)
Grüße aus Bleckede
Kai
hi
was spuckt ein window.alert(documeht.getElementById("id").style.left); aus?
Leer!
was sollte das "left" denn bedeuten?
die left:-Eigenschaft von dem Element.... evtl doch besser mit etwas versuchen, was es immer gibt? ;)
alert(document.getElementyByTagName("body")[0].style.backgroundColor); ist evtl. interessanter (sollte die BG-Farbe vom Dokument geben)
Mozilla zeigt:
Error: document.getElementByTagName is not a function
warum denkt Mozilla, daß dies eine Funktion sein soll, nicht eine Methode? Manchmal bekomme ich diese Fehlermeldung, manchmal nicht.
Mit Dank zurück
Heizer
Hallo,
Mozilla zeigt:
Error: document.getElementByTagName is not a function
Element_s_, weil es mehrere sein koennen, also:
getElementsByTagName()
warum denkt Mozilla, daß dies eine Funktion sein soll, nicht eine Methode?
Weil er ein unbekanntes Konstrukt mit () am Ende fuer eine Funktion halten sollte, intern ist eine Methode ja auch nur so etwas wie eine auf ein Objekt "gemappte" Funktion.
MfG, Thomas
Liebes Forum
ich stehe irgendwie auf der Leitung.
dank Thomas Meinike kann ich nun die Schriftgröße aus einer CSS-Datei auslesen, aber irgendwie will mein Ziel nicht funktionieren.
das Ziel ist, einen Link zu haben, der die schriftgröße eines bestimmten Textteils verändern kann (damit lange Geschichten in angenehmer Größe gelesen werden können, aber Schriften, die stark im Seitendesign eingebunden sind, dieses nicht zerreisen). Dieser Link soll sowohl mit als auch ohne Javascript funktionieren, in letzterem Fall serverseitig mit PHP. Dies klappt auch wunderbar (mit PHP kenne ich mich inzwiscshen auch halbwegs aus), aber die Javascriptvariante will mir nicht gelingen. Erschwerend kommt hinzu, daß der Besucher seine lieblingsschriftgröße einstellen kann, die dann auf allen Seiten mit entsprechender Funktionalität angewandt wird, und in einer Session gespeichert ist. d.h. die Ausgangsgröße ist auch nicht immer gleich.
Ich habe es jetzt mit folgender funktion versucht (für scshrift vergrößern):
function storysize()
{
if (document.defaultView) {
obj = document.getElementById('story');
var actualsize = parseFloat(document.defaultView.getComputedStyle(obj,'').getPropertyValue('font-size'));
actualsize = actualsize+2;
document.getElementByName('story').style.fontSize = actualsize+'px';
//return false;
}
}
Das auslesen der Schriftgröße klappt auch, parseFloat verwende ich, um den reinen Zahlenwert zu erhalten. Dann sollte dieser Zahlenwert um zwei vergrößert werden, und als neue schriftgröße eingesetzt werden.
Mozilla zeigt den Fehler an: document.getElementByName() is not a function.
Da weiß ich jetzt gar nicht, was ich davon halten soll, sonst klappt das doch immer!
Anscheinend komme ich mit der Logik von Javascript nicht wirklich zurecht. PHP hatte ich innerhalb weniger Wochen so weit drauf, daß ich erwünschte Resultate erziehlen konnte, bei Javascript fallen mir regelmäßig die Haare aus...
Vielen dank
Heizer
hi
Mozilla zeigt den Fehler an: document.getElementByName() is not a function.
Da weiß ich jetzt gar nicht, was ich davon halten soll, sonst klappt das doch immer!
hum? Name? name="" ?
geh besser über die ID ran ;)
Grüße aus Bleckede
Kai
hi
Mozilla zeigt den Fehler an: document.getElementByName() is not a function.
Da weiß ich jetzt gar nicht, was ich davon halten soll, sonst klappt das doch immer!
hum? Name? name="" ?
geh besser über die ID ran ;)
geht leider nicht, weil innerhalb eines Dokuments teilweise 30 <div>'s sind, die ich so ansprechen möchte, ID's dürfen aber nur einmal vergeben werden, fals ich da nicht irgendetwas falsch verstanden habe.
Oh, Fehler entdeckt (getElementsByName)
-------------------------------^
Aber jetzt schreibt die Mozilla-Javascript-Console document.getElementsByName.style has no properties??????
Was ist jetzt falsch, oder gibt es irgendwo eine Liste mit wahrscheinlichen Gründen für Fehlermeldungen ?
Danke Heizer
Hallo,
Oh, Fehler entdeckt (getElementsByName)
-------------------------------^
Aber jetzt schreibt die Mozilla-Javascript-Console document.getElementsByName.style has no properties??????
Was ist jetzt falsch, oder gibt es irgendwo eine Liste mit wahrscheinlichen Gründen für Fehlermeldungen ?
Elemente, die kein Attribut name haben, kann man auch nicht ByName ansprechen.
MfG, Thomas
hi
geht leider nicht, weil innerhalb eines Dokuments teilweise 30 <div>'s sind, die ich so ansprechen möchte, ID's dürfen aber nur einmal vergeben werden, fals ich da nicht irgendetwas falsch verstanden habe.
bei Name isses nicht anders, muss auch einmalig sein (und ist für <div> gar nicht definiert)
Oh, Fehler entdeckt (getElementsByName)
-------------------------------^
Aber jetzt schreibt die Mozilla-Javascript-Console document.getElementsByName.style has no properties??????
document.getElementyByTagName("div")[0].style ?
Grüße aus Bleckede
Kai
Hallo,
bei Name isses nicht anders, muss auch einmalig sein (und ist für <div> gar nicht definiert)
name muss nicht einmalig sein, siehe radio-Elemente, die vom gleichen Namen abhaengen.
MfG, Thomas