Mirko42: Objekt, das Style-Def. für Tags bzw. Klassen abbildet?

Hallo,

ich möchte per JavaScript auf die CSS-Definition bestimmter Tags oder auch auf CSS-Klassen zugreifen. Ich würde z.B. gerne die kompletten Eigenschaften von einer bereits per normaler Style-Notation defierten Klasse auf eine andere übertragen, und nicht alle Eigenschaften "per Hand" setzen.

Konkretes Beispiel:

--------

<style type="text/css">

#navi ul li {
color: #000;
/* diverse weitere Eigenschaften */
}

#navi ul li.red {
color: #f00;
/* diverse weitere Eigenschaften */
}

</style>

<script language="JavaScript" type="text/javascript">

EIGENSCHAFTEN_#NAVI_UL_LI = EIGENSCHAFTEN_#NAVI_UL_LI.RED; /* Pseudo-Code*/

</script>

--------

Effekt wäre also, das alle Listenelemente rot sind, nicht nur diejenigen, die mit class="red" ausgezeichnet sind.

Weiß jemand, wie ich an gewünschtes Objekt rankomme, bzw. gibt es überhaupt so etwas?

P.S.: Ich möchte _nicht_ an im Dokument vorhandenen Elemente etwas ändern, sonderen an der Definition!

Grüße,

Mirko

  1. Hi,

    P.S.: Ich möchte _nicht_ an im Dokument vorhandenen Elemente etwas ändern, sonderen an der Definition!

    Du kannst einem Element mittels classname eine (oder mehrere) Klassen zuweisen (was für dein Beispiel schon ausreichen würde). Den Klasseninhalt selbst kannst Du nicht ändern.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hi Du,

      möglicherweise hast Du Recht damit, dass ich den "Klasseninhalt" selbst nicht ändern kann (was aber schade für mich wäre). Allerdings wollte ich eben gerade nicht sämtlichen relevanten Elementen eine Klasse zuweisen, da es abhängig von der Dokumentstruktur tendentiell unperformant wäre, alle entsprechenden Tags durchzuiterieren. Deshalb reicht es in meinem Fall (oder zumindest meinen Ansprüchen ;) leider nicht.

      Andere Vorschläge?

      Grüße,

      Mirko

      Hi,

      P.S.: Ich möchte _nicht_ an im Dokument vorhandenen Elemente etwas ändern, sonderen an der Definition!

      Du kannst einem Element mittels classname eine (oder mehrere) Klassen zuweisen (was für dein Beispiel schon ausreichen würde). Den Klasseninhalt selbst kannst Du nicht ändern.

      Gruß, Cybaer

  2. Hallo,

    ich möchte per JavaScript auf die CSS-Definition bestimmter Tags oder auch auf CSS-Klassen zugreifen. Ich würde z.B. gerne die kompletten Eigenschaften von einer bereits per normaler Style-Notation defierten Klasse auf eine andere übertragen, und nicht alle Eigenschaften "per Hand" setzen.

    Ich möchte _nicht_ an im Dokument vorhandenen Elemente etwas ändern, sonderen an der Definition!

    Dazu kannst du Struppis Bibliothek verwenden, welche über DOM 2 Style/CSS (document.styleSheets usw.) Änderungen an der Klassendefinition selbst ermöglicht. Dies funktioniert momentan allerdings nur zuverlässig im MSIE und Gecko.
    Weitere Links dazu siehe auch </archiv/2004/4/t77914/#m450220>, unten. Das Prinzip wird auch unter </archiv/2003/12/t67680/#m387367> beschrieben.

    Mathias