Podstawowe możliwości frameworka jQuery dla JavaScript przedstawione w prostych przykładach.
Gdzie jquery-1.3.2.min.js to pobrany przeze mnie plik biblioteki jQuery (gdy czytasz ten artykuł może być dostępna już nowsza wersja). Otworzenie strony w przeglądarce wyświetli także JavaScriptowe okno alert - jQuery działa poprawnie.
Stosując jQuery cały kod JavaScript piszemy oddzielnie od kodu X/HTML strony (np. w oddzielnym pliku .js), dzięki czemu kod strony zyskuje na czytelności, jak i łatwiej panować nad kodem JS. Kod JS przechodzący przez jQuery umieszczony jest wewnątrz funkcji:
Oto kilka prostych przykładów. Do części body naszej testowej strony dodajmy: Kontener DIV oraz obrazek. Wykonanie kodu JS po kliknięciu w obrazek wyglądałoby tak:Wewnątrz podstawowej funkcji $(document).ready zagnieździliśmy "funkcję" $("img").click, gdzie "img" to nazwa taga, dla jakiego funkcja ta jest przypisana (dla wszystkich tagów img), a ".click()" to metoda jQuery wywoływana, gdy dany element zostanie kliknięty (lista metod jQuery znajdziemy w jej dokumentacji). Po kliknięciu na fotkę nastąpi wywołanie naszej funkcji i wyświetlenie alerta. Funkcja $() nazywana jest selektorem, bo służy do wyboru ("selekcji") elementów.
Zazwyczaj nasze funkcje będziemy chcieli przypisać do taga o podanym ID. Iterowanie po drzewie DOM strony HTML (prościej: pobieranie, edytowanie danych) w jQuery jest bardzo proste. Zamiast $("img") stosujemy $("#fotka"), gdzie znak # oznacza przypisanie funkcji do elementu HTML o podanym ID (u nas "fotka"). W poniższym przykładzie tylko pierwszy obrazek po kliknięciu wyświetli komunikat:
Można także wyszukać elementy o podanej klasie stosując kropkę: $(".nazwa_klasy");. Można także dobrać się do danego elementu znając jego kolejność, np: $("td:eq(2)"); "znajdzie" trzeci tag TD w dokumencie (numeracja od zera). Można też łączyć te metody, np.: $("#content .klasa:eq(1)"); znajdzie drugi element o klasie "klasa" wewnątrz elementu o ID "content".Pobranie wartości atrybutu taga jest równie proste:
Metoda attr zwróci wartość podanego atrybutu (w tym przypadku dla elementu o ID "fotka" :))Dość często chcemy pobrać lub ustawić zawartość danego taga. W jQuery wystarczy wywołać metodę html lub text na selektorze:
Żeby pobrać wartość taga, trzeba wywołać te same metody, ale bez argumentu:Żądania AJAX też nie stanową większego problemu, oto przykład:
Po kliknięciu w element (link) o klasie "good" następuje wywołanie funkcji live, która to wysyła żądanie AJAXem za pomocą $.ajax. Jako parametry podajemy URL żądania, opcję keszowania (zazwyczaj nie chcemy by żądanie się skeszowało), jak i funkcje do wykonania w przypadku wykonania, czy też nie wykonania żądania. W naszym przypadku przy udanym wykonaniu żądania wywołana zostanie funkcja podana pod argumentem "success" - zawartość odpowiedzi powędruje do taga o ID "result".