⊗jqBsEM 30 of 113 menu

Rad sa metodom each u jQuery

Kada imamo grupu elemenata dobijenih pomoću jQuery, možemo unositi u njih promene samo za sve elemente istovremeno.

Na primer, ako želimo da promenimo tekst svih pronađenih pasusa - nećemo moći da ga učinimo drugačijim.

U ovom slučaju će nam pomoći specijalni metod each, koji omogućava primenu neke funkcije za sve elemente jQuery skupa. Pritom unutar ove funkcije možemo razdvojiti elemente i postupiti drugačije sa svakim od njih.

U suštini each je petlja, pomoću koje možemo proći kroz sve pronađene elemente. Veza na taj element, kroz koji trenutno prolazi petlja, biće u this.

Možemo jednostavno iskoristiti ovaj this na čistom JavaScript-u, kao što smo ranije radili, na primer, ovako - this.innerHTML - i prikazati unutrašnji sadržaj naših elemenata. Ali bolje je obmotati this u dolar jQuery na ovaj način - $(this) - u ovom slučaju ćemo moći da primenjujemo na njega sve metode i lance jQuery.

Pogledajmo sledeći HTML kod:

<p class="www">text</p> <p class="www">text</p> <p class="www">text</p> <p>text</p>

U ovom primeru treba da dobijemo sve elemente sa klasom www i prikažemo na ekranu njihov sadržaj. Kako se to radi: pomoću $('.www') dobijamo elemente koji su nam potrebni, zatim pomoću each(test) primenjujemo na svaki dobijeni element funkciju test. Ona će se prvo primeniti na prvi pasus, pa na drugi, na treći i tako dalje.

Unutar funkcije this će ukazivati na onaj element, na koji se primenjuje funkcija test - prvo će to biti prvi element, pa drugi, i tako dalje. Pomoću takve konstrukcije $(this) umesto običnog this od JavaScript-a dobićemo jQuery element i primenićemo na njega metod html, koji će dobiti tekst našeg elementa. Pa, zatim on će se jednostavno prikazati na ekranu:

/* Ime funkcije test pišemo bez navodnika i (), pošto nam je potreban njen kod, a ne rezultat: */ $('.www').each(test); function test() { alert($(this).html()); }

Za rešavanje ovog zadatka se mogu koristiti i anonimne funkcije - to se najčešće radi:

$('.www').each(function() { alert($(this).html()); });

Takođe možemo proslediti metodu each callback-funkciju sa parametrima.

Dodajmo u sledećem primeru na kraj svim li na stranici njihov redni broj. Sada ćemo u našu anonimnu funkciju proslediti broj elementa i sam element:

$('li').each(function (index, elem) { $(elem).append(index); });

A sada umesto elem koristimo this:

$('li').each(function (index) { $(this).append(index); });

Promenite sadržaj svih li na njihov redni broj.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij