Biblioteka promptów

Przepisanie kodu z jQuery na czysty JavaScript

Ten sam efekt bez biblioteki: nowoczesny JavaScript, ta sama logika i lista różnic do sprawdzenia.

Prompt – 3 zmienne do uzupełnienia

Przepisz poniższy kod z jQuery na czysty, nowoczesny JavaScript (bez bibliotek).
Gdzie działa kod (strona, CMS, wtyczka): [KONTEKST].
Jakie przeglądarki muszą być obsługiwane: [PRZEGLĄDARKI].

Kod:
[WKLEJ KOD]

Wymagania:
- zachowaj dokładnie to samo działanie,
- querySelector/querySelectorAll, addEventListener, fetch zamiast $.ajax,
- delegowanie zdarzeń tam, gdzie elementy dodawane są dynamicznie,
- uruchamianie po załadowaniu DOM (DOMContentLoaded albo atrybut defer),
- krótkie komentarze przy fragmentach, które działają inaczej niż w jQuery,
- na końcu: lista różnic w działaniu, które trzeba przetestować (np. animacje, obsługa błędów AJAX).

Kiedy użyć tego promptu

Gdy chcesz przyspieszyć stronę i pozbyć się jQuery, które ładuje się tylko dla kilku skryptów, albo gdy przenosisz kod do motywu, który jQuery nie ładuje. Przepisywanie ręcznie jest żmudne, a łatwo przeoczyć różnice – np. to, że $.ajax traktuje błędy HTTP inaczej niż fetch.

Przykład

Przykładowe dane do uzupełnienia:

  • KONTEKST: motyw WordPressa, skrypt rozwijanego menu i formularza newslettera wysyłanego AJAX-em
  • PRZEGLĄDARKI: aktualne wersje Chrome, Firefox, Safari i Edge

Czego się spodziewać: Model zamieni np. $(’.menu-toggle’).on(’click’, …) na delegowanie zdarzeń przez addEventListener, $.ajax na fetch z obsługą response.ok i zaznaczy, że slideToggle trzeba zastąpić klasą CSS z przejściem.

Jak dopasować prompt do siebie

  • Kod jako moduł ES: poproś o eksportowane funkcje zamiast kodu uruchamianego od razu.
  • Stare przeglądarki: dopisz, które muszą działać – model unika wtedy nowszej składni albo wskaże potrzebne poprawki.
  • Duży plik: przepisuj partiami po jednej funkcjonalności i testuj każdą osobno.

Wskazówki

  • Przed zmianą zapisz, jak działa obecny kod (kliknięcia, formularze) – będziesz mieć listę testów.
  • Sprawdź, czy inne skrypty lub wtyczki na stronie nie korzystają z jQuery – usunięcie biblioteki może je zepsuć.
  • Testuj na telefonie – zdarzenia dotyku i przewijania zachowują się czasem inaczej.

Najczęstsze błędy

  • Usunięcie jQuery ze strony, zanim upewnisz się, że nic innego z niego nie korzysta.
  • Zamiana $.ajax na fetch bez obsługi błędów HTTP – fetch nie zgłasza błędu przy odpowiedzi 404 czy 500.