Auge: Regel in CSS Klasse ändern

Beitrag lesen

Hallo

ich versuche einen einfachen Language Switch ohne php zu schreiben.

Wie wird die zu verwendende Sprache festgelegt? Wie kann sie bei einer Fehlauswahl geändert werden?

Ich habe zweisprachigen Inhalt auf parallele divs mit unterschiedlichen Klassen verteilt.

Nun habe ich folgende Styles definiert:

.en {display:inline;}
.de {display: none;}

per js würde ich nun gerne die Regeln bei Bedarf ändern.

Ändere nicht die Regel, ändere eine Angabe im Dokument, so dass andere CSS-Regeln angewendet werden.

  /**
   * Suche das Attribut "lang" im ersten (und dokumentweit einzigen) HTML-Element "html".
   * Erzeuge bei Bedarf das Attribut "lang" und setze oder
   * ändere dessen Wert auf die aktuell zu verwendende Sprache.
   */
document.getElementsByTagName("html")[0].setAttribute("lang", "de");

Es wird also nur an einer Stelle eine Änderung vorgenommen. Mit einem Set von CSS-Regeln, das je nach HTML-Struktur mehr oder minder groß wird, werden Elemente abhängig von der angegebenen Sprache ein- oder ausgeblendet.

html[lang=de] .de { display: block; }
html[lang=de] .en { display: none; }

html[lang=en] .de { display: none; }
html[lang=en] .en { display: block; }

Tschö, Auge

--
Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
0 49

Regel in CSS Klasse ändern

Blumentopf
  • css
  • javascript
  1. 1
    Auge
    1. 0
      Gunnar Bittersmann
  2. 0
    Matthias Apsel
    • css
    • jsp
    1. 0
      Auge
      • css
      • javascript
      1. 0
        Matthias Apsel
        1. 0
          Auge
          • sprache
    2. 0
      Matthias Apsel
      1. 0
        Gunnar Bittersmann
        • css
        1. 0
          Matthias Apsel
          1. 0
            Gunnar Bittersmann
  3. 0
    Blumentopf
    1. 0
      Auge
      • css
      • html
      • javascript
      1. 0
        Blumentopf
        1. 0
          Auge
          1. 0
            Blumentopf
            1. 0
              Matthias Apsel
            2. 0
              Auge
              1. 0
                Blumentopf
              2. 0
                Orlok
                1. 0
                  Auge
                  1. 0

                    "Funktion" im Alltag

                    Der Martin
                    • sonstiges
                    1. 0
                      Auge
                      • menschelei
                      • sonstiges
                      1. 0
                        Der Martin
                        1. 0
                          Auge
                          1. 0
                            Der Martin
                    2. 0
                      Tabellenkalk
                      1. 0
                        Der Martin
                    3. 0
                      Der Martin
                      1. 1
                        JürgenB
                        • menschelei
                        • sonstiges
                        1. 0
                          Der Martin
                          1. 0
                            JürgenB
                            1. 0
                              Der Martin
                  2. 4

                    Arraymethoden und anonyme Funktionen

                    Orlok
                    • javascript
                  3. 2

                    const let var

                    Orlok
                    • javascript
                    1. 3
                      Orlok
                    2. 0
                      Auge
                      1. 1

                        Konstanten

                        Orlok
                        • javascript
                        • php
                        1. 0
                          Auge
    2. 0
      Gunnar Bittersmann
      • css
      • internationalisierung
      • javascript
      1. 0
        Gunnar Bittersmann
      2. 0
        Blumentopf
        1. 0
          Der Martin
          1. 0
            Blumentopf
            1. 0
              Der Martin
        2. 0
          Matthias Apsel
          1. 0
            Blumentopf
            1. 0
              Matthias Apsel
        3. 0
          Gunnar Bittersmann