Newsletter

Grupa MagazynyInternetowe

Online: 905

Wyszukiwarka

Framework, JavaScript, jQuery

Framework jQuery - JavaScript nie boli

Znajdź...

Jak mogliśmy się przekonać, wybieranie potrzebnych elementów przypomina swoją metodyką CSS. Jeśli pracujesz z kaskadowymi arkuszami stylów, z pewnością docenisz tę cechę. jQuery posiada imponującą obsługę różnorodnych selektorów, zaczerpniętych m.in. z CSS3 oraz XPath.

Aby wybrać wszystkie elementy jednego rodzaju (np. akapity), napiszemy po prostu:

 
 
 
Pobierz
$('p')

jQuery wyszuka w drzewie dokumentu wybrane elementy i zwróci je nam jako kolekcję obiektów gotowych do wykorzystania. Poszukiwany element możemy również odnaleźć po identyfikatorze, pisząc np.:

 
 
JavaScript
Pobierz
$('h1#tytul')

lub po prostu:

 
 
JavaScript
Pobierz
$('#tytul')

albo wyszukując po klasie:

 
 
JavaScript
Pobierz
$('p.komentarz')

Istnieje również możliwość wykorzystania selektorów potomnych oraz grupowania selektorów, np.:

 
 
JavaScript
Pobierz
$('p.wstep > a, #stopka a')

W ten sposób zgromadzone zostaną wszystkie hiperłącza będące bezpośrednimi potomkami akapitu o klasie "wstep" oraz wszystkie te, dla których przodkiem jest element oznaczony klasą "stopka". Kolejne elementy oddzielamy od siebie przecinkiem.

Możemy także skorzystać z selektorów atrybutów:

 
 
JavaScript
Pobierz
$('img[title]')

Otrzymamy zestaw obrazków, dla których zdefiniowano atrybut title. Poniższy selektor wybierze wszystkie hiperłącza, dla których atrybut rel ma wartość "nofollow", a także linki do artykułów w polskiej Wikipedii (dla których adresy rozpoczynają się w podany sposób):

 
 
JavaScript
Pobierz
$('a[rel="nofollow"], a[href^="http://pl.wikipedia.org"]')

Nic nie stoi także na przeszkodzie, aby wypróbować nowe, wbudowane w składnię jQuery selektory. Chcąc wybrać pierwszy występujący w dokumencie akapit, napiszemy:

 
 
JavaScript
Pobierz
$('p:first')

Aby wybrać co drugi (parzysty), posłużymy się konstrukcją:

 
 
JavaScript
Pobierz
$('p:even')

A co, jeśli chcemy wybrać pierwszych 5 elementów listy? Napiszemy po prostu:

 
 
JavaScript
Pobierz
$('ul.linki li:lt(5)')

Spowoduje to stworzenie kolekcji elementów li, a następnie ograniczenie jej do tych, które mają indeksy mniejsze od 5 (od 0 do 4 włącznie). jQuery nadaje elementom indeksy odpowiednio do ich kolejności występowania w dokumencie.

Bardzo pożyteczny może być także selektor :contains, którego użycie przedstawia się następująco:

 
 
JavaScript
Pobierz
$('p:contains("Piotr")')

Jego rola sprowadza się tutaj do zaznaczenia wszystkich akapitów, w których występuje słowo "Piotr". Podobnie działa :has, który wyszukuje elementy zawierające w sobie inne, określone elementy, np.:

 
 
JavaScript
Pobierz
$('label:has(a)')

W efekcie wybrane zostaną wszystkie etykiety, które zawierają hiperłącza. Interesującymi selektorami mogą być także :header, który gromadzi wszystkie nagłówki (od h1 do h6) lub :input, wybierający elementy formularzy (pola tekstowe, przyciski, itd.), bądź :hidden, gromadzący elementy niewidoczne (np. ukryte za pomocą CSS).

Łącząc selektory, możemy tworzyć skomplikowane konstrukcje, które nie pozwolą umknąć przed nami żadnemu elementowi. Spróbuj zanalizować poniższy przykład:

 
 
JavaScript
Pobierz
$('div#main > .wazny:not(form) ul:even li:first-child a[title]')

Abstrahując od optymalności takiej konstrukcji, w efekcie otrzymamy (pustą lub nie) kolekcję hiperłączy posiadających zdefiniowany atrybut title, będących potomkami pierwszego elementu co drugiej listy w elemencie o klasie "wazny" (wyłączając formularze), który z kolei jest bezpośrednim potomkiem sekcji o identyfikatorze "main".

No dobrze - pomyślisz - tylko co można z tym zrobić? Na to pytanie odpowiemy w następnych akapitach.

26 listopada 2008

Powiązane publikacje

Kiedy nie używać JavaScriptu?

Kiedy nie używać JavaScriptu?

jQuery dla zaawansowanych

jQuery dla zaawansowanych

Framework Ext JS - Nowoczesne interfejsy z wykorzystaniem JavaScript

Framework Ext JS - Nowoczesne interfejsy z wykorzystaniem JavaScript

JavaScript nas kręci

JavaScript nas kręci

 
jQuery - od czego zacząć

jQuery - od czego zacząć

 
Skomentuj
ten artykuł

Komentarzy: 1

Kod obrazkowy
(Kliknij, aby zmienić)
 
Przejdż do tego postu na forum wtorek, 10.02.2009 14:38dart

Proponuję poprawić:
#stopka
i:
"element oznaczony klasą "stopka"
Pozdrawiam

Zobacz wszystkie komentarze »

Autor

Piotr Arendt

Piotr Arendt zajmuje się zawodowo kodowaniem strony użytkownika serwisów internetowych.

Jest entuzjastą dopracowanych aplikacji: schludnego kodu, przemyślanych interfejsów użytkownika i bogatego user experience. Prywatnie miłośnik zen, minimalizmu i nastrojowej muzyki.

Zobacz mnie na GoldenLine

Artykuły tego autora:

Newsletter

Jesli chcesz być na bieżąco z tym co się dzieje na stronie magazynu INTERNET Maker zapisz się do naszego newslettera.