jQuery
Logo programu | |
Pierwsze wydanie | (dts) | 26 sierpnia 2006
---|---|
Aktualna wersja stabilna | 2.2.4 / 20 maja 2016; ponad 8 lat temu[1] |
Aktualna wersja testowa | 4.0.0-beta2 (17 lipca 2024) [±] |
Język programowania | JavaScript |
Rodzaj | biblioteka programistyczna |
Licencja | GPL i MIT[2] |
Strona internetowa |
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ę).
Funkcjonalność
jQuery 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
- 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 80 kB
- Wygoda tworzenia wtyczek
Użycie
Z biblioteki jQuery można korzystać na dwa sposoby:
- Użyć funkcji $ lub jQuery ($ jest standardowym aliasem obiektu jQuery). Funkcja ta i inne metody zwracają obiekt jQuery, co oznacza, że można łatwo łączyć je w łańcuch wywołań.
- Używać $. lub jQuery. 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ń
Data 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 | |
18 kwietnia 2013 | 2.0 | porzucono obsługę przestarzałych przeglądarek Internet Explorer 6-8 |
24 stycznia 2014 | 2.1 |
- ↑ [1]
- ↑ License - jQuery Project. The jQuery Project, 2010. [dostęp 2011-07-02]. (ang.).