Gunnar Bittersmann: Suche einen Sorting-Button bzw. ein Sorting Icon

Beitrag lesen

@@Der Martin

  sortDesc = false;

  sortSort() {
    this.sortDesc = !this.sortDesc;
    document.getElementById("sort1" ).className =
      ( this.sortDesc ?
        "sort-by-desc" :
        "sort-by-asc");
  }

Man muss nicht bei jedem Aufruf von sortSort das Element erneut im DOM mit document.getElementById("sort1") suchen. Raus damit aus der Funktion; vorher:

const sort1Element = document.getElementById("sort1");

function sortSort() {}

oder

const sort1Element = document.querySelector("#sort1");

function sortSort() {}

in der Funktion dann

sort1Element.className =;

Die Verwendung von Element.className ist immer problematisch, wenn da noch andere Klassen im Spiel sind, die man nicht überschreiben möchte.

Stattdessen kann man besser die Methoden von Element.classList einsetzen:

sort1Element.classList.toggle("sort-by-desc", this.sortDesc);
sort1Element.classList.toggle("sort-by-asc", !this.sortDesc);

Eine der beiden Klassen ist noch redundant; man könnte die Unterschiedung ebenso anhand von "Klasse gesetzt" bzw. "keine Klasse gesetzt" machen.

Dann tut es Element.classList.toggle ohne den zweiten Parameter.

Und gleich kommt wahrscheinlich noch der Gunnar mit seinem Mantra, doch bitte keine Maße in px anzugeben.

Ehe wir an die Feinheiten gehen, sollten wir erstmal mit den Grundlagen anfangen: dem Markup.

LLAP 🖖

--
„Man kann sich halt nicht sicher sein“, sagt der Mann auf der Straße, „dass in einer Gruppe Flüchtlinge nicht auch Arschlöcher sind.“
„Stimmt wohl“, sagt das Känguru, „aber immerhin kann man sich sicher sein, dass in einer Gruppe Rassisten nur Arschlöcher sind.“

—Marc-Uwe Kling
0 71

Suche einen Sorting-Button bzw. ein Sorting Icon

hmm
  • css
  • html
  1. 2
    Gunnar Bittersmann
    1. 0
      marctrix
  2. 1
    JürgenB
    1. 0
      marctrix
      1. 0
        JürgenB
        • barrierefreiheit
        • css
        • html
        1. 0
          JürgenB
        2. 0
          marctrix
          1. 0
            JürgenB
            1. 0
              JürgenB
              1. 0
                Matthias Apsel
                1. 0
                  JürgenB
                  1. 0
                    Matthias Apsel
                    1. 0
                      JürgenB
                      1. 0
                        Matthias Apsel
            2. 0
              marctrix
              1. 0
                marctrix
                1. 0
                  JürgenB
                  1. 0
                    marctrix
                    1. 0
                      JürgenB
                      1. 0
                        marctrix
                        1. 0
                          JürgenB
                          1. 0
                            marctrix
                            1. 0
                              JürgenB
                              1. 0
                                marctrix
                                1. 0
                                  JürgenB
                                  1. 0
                                    marctrix
                                    1. 0
                                      JürgenB
                                      1. 0
                                        marctrix
                                        1. 0
                                          JürgenB
                                      2. 0
                                        Matthias Apsel
                                        1. 0
                                          JürgenB
                                          1. 0
                                            Matthias Apsel
                                            1. 0
                                              JürgenB
                                              1. 0
                                                Matthias Apsel
                              2. 1
                                Gunnar Bittersmann
                                1. 1
                                  JürgenB
  3. 1
    Gunnar Bittersmann
    • barrierefreiheit
    • css
    • html
    1. 0
      JürgenB
      1. 0
        Gunnar Bittersmann
        1. 1
          JürgenB
          1. 0
            marctrix
  4. 0
    hmm
    1. 0
      hmm
      1. 0
        Der Martin
        • css
        • html
        • javascript
        1. 0
          Gunnar Bittersmann
          • javascript
        2. 0
          marctrix
      2. 1
        Gunnar Bittersmann
        • html
      3. 0
        JürgenB
  5. 0
    DevMat
    1. 1
      Gunnar Bittersmann
    2. 1
      Der Martin
  6. 0
    hmm
  7. 0

    Jetzt brauch ich außerdem noch eine Sortierungsidee, weil mein REST nur vorsortiert

    hmm
    1. 0
      dedlfix
      1. 0
        hmm
        1. 0
          dedlfix
          1. 0
            hmm
            1. 0
              Gunnar Bittersmann
              • javascript
              1. 0
                hmm
                1. 2
                  JürgenB
                  1. 0
                    hmm
                    1. 1
                      JürgenB
                      1. 1
                        Gunnar Bittersmann
                2. 1
                  Rolf B
                  1. 0
                    hmm
                  2. 0
                    Gunnar Bittersmann
                    1. 0
                      Rolf B
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          Mitleser
                        2. 0
                          Rolf B