jQuery
jQuery – lekka biblioteka programistyczna dla języka JavaScript, ułatwiająca korzystanie z JavaScriptu (w tym manipulację drzewem DOM). Kosztem niewielkiego spadku wydajności w stosunku do profesjonalnie napisanego kodu w niewspomaganym JavaScripcie pozwala osiągnąć interesujące efekty animacji, dodać dynamiczne zmiany strony, wykonać zapytania AJAX. Większość wtyczek i skryptów opartych na jQuery działa na stronach nie wymagając zmian w kodzie HTML (np. zamienia klasyczne galerie złożone z miniatur linkujących do obrazków w dynamiczną galerię).
Logo programu | |
Pierwsze wydanie | (dts) | 26 sierpnia 2006
---|---|
Aktualna wersja stabilna | 3.7.1 (28 sierpnia 2023) [±] |
Aktualna wersja testowa | 4.0.0-beta2 (17 lipca 2024) [±] |
Język programowania | JavaScript |
Rodzaj | biblioteka programistyczna |
Licencja | MIT[1] |
Strona internetowa |
Funkcjonalność
edytujjQuery pozwala w wygodny i zrozumiały sposób korzystać z następujących funkcjonalności:
- selektory – umożliwiają wybranie dowolnego podzbioru węzłów modelu DOM
- atrybuty – jQuery pozwala przetwarzać atrybuty węzłów dokumentu
- manipulowanie modelem DOM
- zmiana i przypisywanie stylu do elementów
- rozbudowana obsługa zdarzeń, możliwość definiowania własnych
- efekty – animacje
- AJAX – prosty interfejs realizujący asynchroniczne zapytania
Podstawowe cechy
edytuj- Niezależność od przeglądarki – eliminuje konieczność dostosowywania kodu do różnych przeglądarek WWW
- Obsługa selektorów zgodna z CSS3
- Małe rozmiary – produkcyjna wersja to tylko ok. 30kB (dla skompresowanej wersji 3.4.1)
- Wygoda tworzenia wtyczek
Użycie
edytujZ biblioteki jQuery można korzystać na dwa sposoby:
- Użyć funkcji
$
lubjQuery
($
jest standardowym aliasem obiektujQuery
). Funkcja ta i inne metody zwracają obiektjQuery
, co oznacza, że można łatwo łączyć je w łańcuch wywołań. - Używać
$.
lubjQuery.
jako swoistego prefiksu. Czyli korzystać z metod narzędziowych nie operujących na obiekcie jQuery jako takim.
Typowe wykorzystanie biblioteki jQuery polega na przekazaniu selektora CSS funkcji $
, której wynikiem jest tablica referencji do obiektów dopasowanych elementów (tablica może być pusta). Następnie na tej tablicy wykonuje się dodatkowe operacje poprzez metody obiektu jQuery
. Na przykład skrypt:
jQuery("div.test").append(jQuery('<p class="quote"/>').addClass('blue').slideDown('slow'));
pobierze tagi DIV z klasą test
, doda pusty paragraf o klasie quote
, doda klasę o nazwie blue
i utworzy animację.
Metody z prefiksem $.
lub jQuery.
są metodami samodzielnymi lub działają globalnie. Poniższy przykład wykorzysta funkcję mapującą o nazwie each
:
jQuery.each([1,2,3], function(klucz, wartosc) {
document.write(klucz + "=" + wartosc + "<br/>");
});
Przykład powyżej wydrukuje na ekranie: 0=1 1=2 2=3
jQuery oferuje również niezależny od przeglądarki interfejs do synchronicznych oraz asynchronicznych żądań HTTP (AJAX). Standaryzuje on różne implementacje obiektu XMLHttpRequest
. Zapytania obsługuje się poprzez metodę globalną jQuery.post
lub jQuery.get
. Metody te różnią się od siebie tym, że jQuery.post
wysyła dane za pomocą POST, a jQuery.get
wysyła dane za pomocą GET.
jQuery.post("skrypt.php", {"klucz": "wartość", "a": 13}, function(json) {
alert("Dane otrzymane: " + json.klucz + ", " + json.a);
}, "json");
W powyższym przykładzie skrypt wyśle żądanie do pliku skrypt.php
przekazując mu parametry klucz
i a
(w żądaniu typu POST). Po pomyślnym przesłaniu danych wywołana zostanie funkcja przypisana do opcji trzeciej, która w tym wypadku wyświetli komunikat z odpowiedzią zwróconą przez skrypt.
Historia wydań
edytujData wydania | Numer wersji | Uwagi |
---|---|---|
26 sierpnia 2006 | 1.0 | pierwsze wydanie stabilne |
14 stycznia 2007 | 1.1 | |
10 września 2007 | 1.2 | |
14 stycznia 2009 | 1.3 | wprowadzono Sizzle Selector Engine do silnika |
14 stycznia 2010 | 1.4 | |
31 stycznia 2011 | 1.5 | |
3 maja 2011 | 1.6 | znacznie poprawiona wydajność funkcji attr() i val() |
3 listopada 2011 | 1.7 | nowe zdarzenia API:.on(),.off() |
9 sierpnia 2012 | 1.8 | |
15 stycznia 2013 | 1.9 | |
24 maja 2013 | 1.10 | |
24 stycznia 2014 | 1.11 | |
8 stycznia 2016 | 1.12 | |
18 kwietnia 2013 | 2.0 | porzucono obsługę przestarzałych przeglądarek Internet Explorer 6-8 |
24 stycznia 2014 | 2.1 | |
8 stycznia 2016 | 2.2 | |
9 czerwca 2016 | 3.0[4] | |
7 lipca 2016 | 3.1 | |
16 marca 2017 | 3.2 | |
20 stycznia 2018 | 3.3.1 | |
10 kwietnia 2019 | 3.4.0 | funkcja css() działa ze zmiennymi CSS oraz wiele poprawek w funkcjonowaniu biblioteki[5] |
1 maja 2019 | 3.4.1 | Drobne poprawki błędów znalezionych w już udostępnionej wersji 3.4.0[6] |
28 sierpnia 2023 | 3.7.1 |
Przypisy
edytuj- ↑ jQuery Licensing Changes. 2012. [dostęp 2016-09-14]. (ang.).
- ↑ jQuery 2.0 drops support for old versions of Internet Explorer.
- ↑ Browser Support. jquery.com.
- ↑ Long-awaited jQuery 3.0 Brings Slim Build [online], www.infoq.com [dostęp 2017-11-24] .
- ↑ jQuery 3.4.0 Released. blog.jquery.com. [dostęp 2019-06-23].
- ↑ jQuery 3.4.1: triggering focus events in IE and finding root elements in iOS 10. blog.jquery.com. [dostęp 2019-06-23].