Gunnar Bittersmann: Inhalte ausblenden

Beitrag lesen

@@Meowsalot

const filterButtonElement = document.querySelector('#filter');

wenn ich dieses so nutze dann geht gar nichts mehr, schade:

Natürlich nicht …

const filterButtonElement = document.querySelector('#filter');

        toggle.addEventListener(...

Du musst den EventListener schon für filterButtonElement vorsehen.

Kann man das nicht auch irgendwie mit jQuery umsetzten?

Du kannst mit jQuery nicht mehr tun als mit reinem JavaScript.

Was er noch nicht tut: beim Element mit der ID "einträge" das data-filtered-Attribut entsprechend setzen. Das müsstest du noch ergänzen.

Hmm, verstehe ich ehrlich gesagt nichts. Davon ist in deinem Beispiel auch nichts zu sehen.

Nein, das habe ich auch nicht eingebaut. Ich gehe davon aus, dass du das selbst schaffst.

Außerdem macht die Änderung des Textes so keinen Sinn. Bis zum Abschnitt Changing Labels warst du nicht vorgedrungen? Darin beschreibt Heydon die Problematik.

Ich denke schon dass es ein Sinn macht?

Ich habe dich nicht auf den Abschnitt hingewiesen, damit du ihm ungelesen widersprichst.

“As a rule of thumb, you should never change pressed state and label together.”

Soll ich den User im dunklen lassen was gerade angezeigt wird?

Heydon beschreibt eine Lösung des Problems mit aria-labelledby. In deinem Fall sollte es mit aria-label (worin der Text nicht geändert wird) gehen:

<button id="filter" aria-pressed="false" aria-label="Nur meine anzeigen" hidden="">

(zu hidden siehe anderes Posting)

LLAP 🖖

--
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann