css attribut dynamisch ändern
Horst Scheibenhofer
- javascript
0 Horst Scheibenhofer0 Biesterfeld0 Horst Scheibenhofer0 wahsaga0 Ingo Turski0 wahsaga
0 Biesterfeld
0 Cybaer
Hallo!
Ist es möglich das css attribut mit js zu ändern?
zb:
[code language="HTML"]
<style .... >
.myclass { ... }
.myNewClass { ... }
</style>
<div id="myid" class="myclass">...</div>
[/code]
[code language="javascript"]
<script ..>
document.getElementById("myid").class="myNewClass";
</script>
[/code]
So würde ich mir das vorstellen. Funktioniert aber leider nicht.
Einzelne style Attribute mit dem Style Objekt auszutauschen ist mir zu umständlich. Ich würde gerne das gesamte class Attribut austauschen.
Gibts da eine Möglichkeit?
mfg
Horst
AAAAHHHHHH!!
.className ist mein Freund!
mfg
Horst
Hej,
document.getElementById("myid").class="myNewClass";
Wenn überhaupt [document.all.className](http://de.selfhtml.org/javascript/objekte/all.htm#class_name).
Ob das allerdings in allen browsern klappt, wage ich zu bezweifeln.
Daher würde ich mich mal an deiner Stelle mal mit [document.node.setAttribute()](http://de.selfhtml.org/javascript/objekte/node.htm#set_attribute)
auseinandersetzen.
Beste Grüße
Biesterfeld
--
"Wussten sie, dass die meisten Menschen mehr Beine haben als der Durchschnitt?"
Hej,
document.getElementById("myid").class="myNewClass";
>
> Wenn überhaupt [document.all.className](http://de.selfhtml.org/javascript/objekte/all.htm#class_name).
> Ob das allerdings in allen browsern klappt, wage ich zu bezweifeln.
> Daher würde ich mich mal an deiner Stelle mal mit [document.node.setAttribute()](http://de.selfhtml.org/javascript/objekte/node.htm#set_attribute)
> auseinandersetzen.
Danke!
.className funktioniert zumindes bei meinem Mozilla, FF und IE unter Win)
In der SelfHMTL Doku ist bei .className ein "JS/MS" Icon, bei .setAttribute ein "JS 1.5" und ein "DOM 1.0" Icon. Leider finde ich nirgends die Bedeutung der Icons. Aber ich vermute mal, dass das .setAtribute wirklich weiter verbreitet ist. Dann werde ich das verwenden.
mfg
Horst
hi,
.className funktioniert zumindes bei meinem Mozilla, FF und IE unter Win)
und auch im opera - AFAIK eigentlich in allen aktuellen , JS-fähigen browsern.
In der SelfHMTL Doku ist bei .className ein "JS/MS" Icon, bei .setAttribute ein "JS 1.5" und ein "DOM 1.0" Icon. Leider finde ich nirgends die Bedeutung der Icons.
die haben zum einen einen title, und zum anderen gibt es auch eine liste der in slfhtml verwendeten symbole
Aber ich vermute mal, dass das .setAtribute wirklich weiter verbreitet ist. Dann werde ich das verwenden.
nein, className ist für dein vorhaben OK.
setAttribute macht darüber hinaus im IE oftmals probleme.
gruß,
wahsaga
Hi,
die haben zum einen einen title
noch nicht - nur alt. Du gehst besuchst diese Seiten doch nicht etwa nur mit Deinem alten IE? ;-)
freundliche Grüße
Ingo
hi,
die haben zum einen einen title
noch nicht - nur alt. Du gehst besuchst diese Seiten doch nicht etwa nur mit Deinem alten IE? ;-)
doch, im moment schon - man muss nehmen, was man kriegen kann ...
gruß,
wahsaga
Hej,
.className funktioniert zumindes bei meinem Mozilla, FF und IE unter Win)
Weil du dir aber das Allgemeine zu document.all durchgelesen hast, weißt du auch dass dies ursprünglich ein JScript Objekt ist, und damit Microsoft und nicht dem Standard gehört.
In der SelfHMTL Doku ist bei .className ein "JS/MS" Icon, bei .setAttribute ein "JS 1.5" und ein "DOM 1.0" Icon.
http://de.selfhtml.org/javascript/intro.htm
Leider finde ich nirgends die Bedeutung der Icons.
http://de.selfhtml.org/editorial/arbeitshinweise.htm
Aber ich vermute mal, dass das .setAtribute wirklich weiter verbreitet ist. Dann werde ich das verwenden.
Naja es entspricht dem DOM und ist damit in jedem Fall zukunftsträchtig. Aber wenn du Javascript verwendest solltest du sowieso mit Browserweichen arbeiten um die Vielzahl der Browser nicht auszuschließen.
Beste Grüße
Biesterfeld
Hi,
Einzelne style Attribute mit dem Style Objekt auszutauschen ist mir zu umständlich.
Jetzt mal vom Umstand abgesehen, daß className das Gesuchte war:
Um alle Styles einer Regel auf einen Schlag zu ändern, gibt es die Eigenschaft cssText.
Gruß, Cybaer
hi,
Um alle Styles einer Regel auf einen Schlag zu ändern, gibt es die Eigenschaft cssText.
browserübergreifend?
gruß,
wahsaga
Hi,
Um alle Styles einer Regel auf einen Schlag zu ändern, gibt es die Eigenschaft cssText.
browserübergreifend?
Nein "nur" Mozilla, IE, Konqueror, Safari, ?. Opera kennt diese Eigenschaft nicht. Aber Opera ist ja sowieso eine DHTML-Niete ... >:->
Gruß, Cybaer