mathefritz: duch class gesetze Attributwerte ändern?

kann mit javascript der Attributwert der aus class=... stammt einzeln geändert werden?

  1. @@mathefritz

    kann mit javascript der Attributwert der aus class=... stammt einzeln geändert werden?

    Du er möchtest die im "foo bar baz" vorkommenden Klassen einzeln ändern? Kein Problem[1] – mit classList. [MDN, Wiki]

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory

    1. IE < 10 sollte kein Thema sein‽ [Can I use] ↩︎

    1. Danke Gunnar, abe so meinte ich das nicht. Durch class= ... können ja mehrere Attbute gesetzt werden. Gefragt habe ich nun nach einem Weg, ein einzelnes davon auf einen anderen Wert zu setzen.

      1. @@mathefritz

        Danke Gunnar, abe so meinte ich das nicht.

        Wie sonst?

        Durch class= ... können ja mehrere Attbute gesetzt werden.

        Nicht für ein Element.

        Gefragt habe ich nun nach einem Weg, ein einzelnes davon auf einen anderen Wert zu setzen.

        Nein. Es ist völlig unklar, wonach du zu fragen gedachtest.

        LLAP 🖖

        --
        “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
  2. Tach!

    kann mit javascript der Attributwert der aus class=... stammt einzeln geändert werden?

    Du meinst die CSS-Eigenschaften, die das ELement aufgrund seiner Klassenzugehörigkeit zugewiesen bekam. Da bildet die Klasse keine Ausnahme, denn auch diejenigen, die im CSS mittels anderer Selektoren zugewiesen wurden, lassen sich über die Eigenschaft style überschreiben. Ob das allerdings der bessere Weg ist, als dem ELement in deinem Fall eine andere Klasse zuzuweisen, in der ein anderer Satz CSS-Eigenschaften definiert ist, ist allerdings hinterfragenswert.

    dedlfix.

    1. @@dedlfix

      Du meinst die CSS-Eigenschaften, die das ELement aufgrund seiner Klassenzugehörigkeit zugewiesen bekam.

      Da musstest du deine Glaskugel aber putzen, polieren und was noch nicht alles. Wie hast du die so glasklar gekriegt?

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
      1. Tach!

        Da musstest du deine Glaskugel aber putzen, polieren und was noch nicht alles. Wie hast du die so glasklar gekriegt?

        Ach weißt du, auch mir geht es manchmal so, dass ich Fragen nicht exakt stellen kann, weil ich nicht genau weiß, wie der Mechanismus funktioniert, den ich suche. Und wenn man nicht streng nach dem Evangelium lebt, weiß man mitunter auch, welche unorthodoxen Methoden so existieren und Verwendung finden.

        Es ist ziemlich naheliegend, dass man bei Aufgabenstellungen wie "im Fehlerfall soll das Ding rot werden" daran denkt, den Farbwert umzuschreiben statt sich Gedanekn zu machen, dass man stattdessen eine Klasse namens error hinzufügen könnte, um am Ende die Styleinformationen allein im CSS zu haben, statt sie über alle Codedateien zu verstreuen. Vielleicht kommt man darauf, wenn es ein paar mehr Eigenschaften sind, die zu ändern wären. Aber vielleicht löst man das dann auch auf die Programmiererweise: Wegkapseln der direkten Änderung in eine Funktion. Nunja, auch dann dreht die Welt sich weiter.

        dedlfix.

        1. @@dedlfix

          Es ist ziemlich naheliegend, dass man bei Aufgabenstellungen wie "im Fehlerfall soll das Ding rot werden" daran denkt, den Farbwert umzuschreiben

          Naheliegend? Mag sein. Dennoch grundverkehrt. Rot zu werden ist ja nicht das Enzeige, was das Ding im Fehlerfall tun sollte. Niemals Farbe als alleiniges Unterscheidungsmerkmal verwenden!

          statt sich Gedanekn zu machen, dass man stattdessen eine Klasse namens error hinzufügen könnte, um am Ende die Styleinformationen allein im CSS zu haben

          Außerdem muss man sich Gedanken machen, wie/wann das Ding den Fehlerfall einem Screenreader mitteilt. S.a. ARIA Live Regions

          Aber vielleicht löst man das dann auch auf die Programmiererweise: Wegkapseln der direkten Änderung in eine Funktion.

          Es gibt (viel zu) wenige JavaScript-Entwickler, die das Prinzip separation of concerns verstanden haben. Stattdessen hauen sie mit JavaScript auf alles drauf, was bei drei nicht auf dem Baum ist. Was anderes außer JavaScript können sie ja nicht.

          LLAP 🖖

          --
          “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    2. Guten Morgen,
      danke, ja das ist's was ich wollte, also
      element.style.Attribut = Wert

      1. @@mathefritz

        danke, ja das ist's was ich wollte, also
        element.style.Attribut = Wert

        Wie dedlfix schon sagte, ist das kein Attribut, sondern eine (CSS-)Eigenschaft.

        Und wie dedlfix schon sagte, ist es meist überhaupt keine gute Idee, CSS-Eigenschaften direkt mit JavaScript zu setzen/zu ändern.

        LLAP 🖖

        --
        “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory