README-pl

Nie Potrzebujesz jQuery

Build Status

Środowiska frontendowe rozwijają się błyskawicznie, nowsze przeglądarki zaimplementowały już większą część API DOM/BOM, które są całkiem użyteczne. Nie musimy uczyć się jQuery od podstaw by manipulować modelem dokumentu lub obsługiwać zdarzenia. Tymczasem, dzięki coraz większej dominacji bibliotek frontendowych takich jak React, Angular czy Vue, obsługa DOM bezpośrednio staje się antywzorcem projektowym, a jQuery coraz bardziej traci na znaczeniu. Ten projekt pokazuje w jaki sposób można zastąpić większość metod jQuery korzystając z natywnej implementacji, ze wsparciem dla IE 10+.

Spis treści

Tłumaczenia

Wybór przez Selektory

Zamiast korzystania z powszechnych selektorów takich jak klasa, id czy też atrybut, możemy użyć document.querySelector lub document.querySelectorAll. Różnica między nimi to:

  • document.querySelector zwraca pierwszy pasujący element

  • document.querySelectorAll zwraca wszystkie elementy jako NodeList. Może zostać przekształcony do tablicy przy użyciu Array.prototype.slice.call(document.querySelectorAll(selector));

  • Jeżeli żaden element nie został znaleziony, jQuery oraz document.querySelectorAll zwrócą [], a document.querySelector zwróci null.

Uwaga: document.querySelector i document.querySelectorAll są dosyć WOLNE, staraj się używać document.getElementById, document.getElementsByClassName lub document.getElementsByTagName jeżeli chcesz zwiększyć wydajność.

  • 1.0 Wybór przez selektor

  • 1.1 Wybór przez klasę

  • 1.2 Wybór przez id

  • 1.3 Wybór przez atrybut

  • 1.4 Wybór spośród potomków

  • 1.5 Rodzeństwo, Poprzednie/Następne elementy

    • Rodzeństwo

    • Poprzednie elementy

    • Następne elementy

  • 1.6 Najbliższy

    Zwraca pierwszy pasujący element przez podany selektor, sprawdzając kolejno elementy od bieżącego.

  • 1.7 Rodzice dopóki

    Zwraca potomków każdego elementu w bieżącym zbiorze pasujących elementów, aż do elementu dopasowanego przez selektor, węzeł DOM, lub obiekt jQuery.

  • 1.8 Formularze

    • Pola tekstowe

    • Otrzymanie indeksu e.currentTarget wewnątrz elementów .radio

  • 1.9 Zawartość ramek

    $('iframe').contents() zwraca contentDocument tego iframe

    • Zawartość ramki

    • Wybór elementu ramki

  • 1.10 Otrzymanie body

  • 1.11 Akcesory atrybutów

    • Otrzymanie wartości atrybutu

    • Ustawienie wartości atrybutu

    • Otrzymanie wartości atrybutu data-

⬆ powrót

CSS i styl

  • 2.1 CSS

    • Otrzymanie stylu

    • Ustawienie stylu

    • Otrzymanie/Ustawienie stylów

      Jeżeli chcesz ustawić wiele stylów jednocześnie, możesz odwołać się do metody setStylesarrow-up-right w pakiecie oui-dom-utils.

  • Dodanie klasy

  • Usunięcie klasy

  • Sprawdzenie czy element posiada klasę

  • Przełączenie klasy

  • 2.2 Szerokość i wysokość

    Manipulowanie szerokością i wysokością jest teoretycznie takie samo, dla przykładu użycie wysokości:

    • Wysokość okna

    • Wysokość dokumentu

    • Wysokość elementu

  • 2.3 Pozycja i przesunięcie

    • Pozycja

      Otrzymanie bieżącej pozycji elementu relatywnie do przesunięcia rodzica.

    • Przesunięcie

      Otrzymanie bieżącej pozycji elementu relatywnie do dokumentu.

  • 2.4 Przesunięcie widoku

    Otrzymanie bieżącego przesunięcia w pionie elementu.

⬆ wróć

Manipulacja DOM

  • 3.1 Usuwanie

    Usunięcie elementu z DOM.

  • 3.2 Tekst

    • Otrzymanie tekstu

      Otrzymanie połączonej zawartości tekstowej elementu, włącznie z jego potomkami,

    • Ustawianie tekstu

      Ustawianie zawartości tekstowej elementu do wyznaczonej wartości.

  • 3.3 HTML

    • Otrzymanie HTML

    • Ustawianie HTML

  • 3.4 Dodawanie na koniec

    Dodanie elementu jako dziecko po ostatnim dziecku elementu rodzica

  • 3.5 Dodawanie na początek

  • 3.6 Dodawanie przed

    Dodanie nowego węzła przed wybranymi elementami

  • 3.7 Dodawanie po elemencie

    Dodanie nowego węzła po wybranych elementach

  • 3.8 Porównywanie

    Zwraca true jeżeli podany selektor pasuje do wybranego elementu

  • 3.9 Kopiowanie

    Tworzenie głębokiej kopii wybranego elementu

  • 3.10 Wyczyszczenie

    Usuwa wszystkie węzły dzieci

  • 3.11 Zawinięcie

    Umieszczenie każdego elementu w strukturze HTML

  • 3.12 Odwinięcie

    Usuwa rodziców z pasujących elementów z DOM

  • 3.13 Zamiana

    Wymiana każdego elementu ze zbioru pasujących elementów na podaną nową zawartość

⬆ powrót

Ajax

Fetch APIarrow-up-right jest nowym standardem mającym zastąpić XMLHttpRequest by wykonować ajax. Obecnie działa na Chrome i Firefox, istnieje możliwość użycia tzw. polyfills (wypełnień) by móc używać tej funkcjonalności w starszych przeglądarkach.

Wypróbuj github/fetcharrow-up-right na IE9+ lub fetch-ie8arrow-up-right na IE8+, fetch-jsonparrow-up-right by wykonywać żądania JSONP.

  • 4.1 Ładowanie danych z serwera i umieszczenie zwróconego HTML do pasującego elementu

⬆ powrót

Zdarzenia

Dla pełnego zastąpienia ze wsparciem przestrzenią nazw i delegowaniem, odnieś się do https://github.com/oneuijs/oui-dom-eventsarrow-up-right

  • 5.0 Dokument gotowy ze zdarzeniem DOMContentLoaded

  • 5.1 Nasłuchiwanie funkcji na zdarzenie

  • 5.2 Zatrzymanie nasłuchiwania

  • 5.3 Wywołanie zdarzenia

⬆ powrót

Funkcje użytkowe

Większość funkcji użytkowych można znaleźć w natywnym API. Pozostałe, bardziej zaawansowane funkcje mogą zostać zastąpione lepszymi bibliotekami użytkowymi, które skupiają się na spójności i wydajności. Rekomendowaną biblioteką jest lodasharrow-up-right.

  • 6.1 Podstawowe funkcje użytkowe

    • isArray

    Sprawdza czy podany argument jest tablicą.

    • isWindow

    Sprawdza czy podany argument jest oknem.

    • inArray

    Szuka podanej wartości wewnątrz tablicy i zwraca jej indeks (lub -1 jeżeli nie znaleziono).

    • isNumeric

    Sprawdza czy podany argument jest wartością numeryczną. Użyj typeof by sprawdzić typ lub przykładu type dla większej dokładności.

    • isFunction

    Sprawdza czy podany argument jest obiektem funkcji.

    • isEmptyObject

    Sprawdza czy obiekt jest pusty (nie posiada żadnych wymiernych atrybutów).

    • isPlainObject

    Sprawdza czy obiekt jest prostym obiektem (stworzonym przy pomocy “{}” lub “new Object”).

    • extend

    Scalenie zawartości dwóch lub większej ilości obiektów razem w pierwszy obiekt. Object.assign należy do API ES6, więc można również użyć wypełnieniaarrow-up-right.

    • trim

    Usuwa białe znaki z początku i końca ciągu znaków.

    • map

    Przekształcenie wszystkich elementów tablicy lub obiektu w nową tablicę.

    • each

    Ogólna funkcja do iteracji, która może być użyta zarówno na obiektach jak i tablicach.

    • grep

    Zwraca elementy które przechodzą test podanej funkcji filtrującej.

    • type

    Ustala wewnętrzną klasę obiektu.

    • merge

    Scala zawartość dwóch tablic w jedną.

    • now

    Zwraca liczbę reprezentującą bieżący czas.

    • proxy

    Pobiera funkcję jako argument i zwraca nową funkcję, która będzie miała zawsze określony kontekst.

    • makeArray

    Konwertuje obiekt tablico-podobny w tablicę.

  • 6.2 Zawieranie

    Sprawdza czy dany element DOM jest potomkiem innego elementu DOM.

  • 6.3 Globalna ewaluacja

    Wykonuje kod Javascript z globalnym kontekstem.

  • 6.4 parse

    • parseHTML

    Przetwarza łańcuch znaków w tablicę węzłów DOM.

    • parseJSON

    Pobiera ciąg znaków reprezentujący JSON i zwraca wynikową wartość Javascript.

⬆ powrót

Obietnice

Obietnice (ang. Promises) reprezentują ewentualny wynik asynchronicznej operacji. jQuery posiada własny system zarządzania obietnicami. Natywny Javascript implementuje minimalną warstwę API do obsługi obietnic według specyfikacji Promises/A+arrow-up-right.

  • 7.1 done, fail, always

    done jest wywoływane gdy obietnica zostanie zakończona sukcesem, fail jest wywoływane gdy obietnica jest odrzucona, always gdy obietnica jest zakończona z dowolnym wynikiem.

  • 7.2 when

    when wykorzystuje się do obsługi wielu obietnic jednocześnie. Zakończy się sukcesem, jeżeli wszystkie podane obietnice zostaną również zakończone sukcesem; zakończy się odrzuceniem, jeżeli jakakolwiek z obietnic zostanie odrzucona.

  • 7.3 Deferred

    Deferred (pl. Odłożenie) jest metodą tworzenia obietnic.

⬆ powrót

Animacja

  • 8.1 Show i Hide

  • 8.2 Toggle

    Wyświetla lub ukrywa element.

  • 8.3 FadeIn i FadeOut

  • 8.4 FadeTo

    Dostosowuje przezroczystość elementu w czasie.

  • 8.5 FadeToggle

    Wyświetla lub ukrywa element przez animowanie jego przezroczystości.

  • 8.6 SlideUp i SlideDown

  • 8.7 SlideToggle

    Wyświetla lub ukrywa element przez przesunięcie.

  • 8.8 Animate

    Wykonuje własną animację zbioru atrybutów CSS.

Alternatywy

Wsparcie przeglądarek

Latest ✔

Latest ✔

10+ ✔

Latest ✔

6.1+ ✔

Licencja

MIT

Last updated