⊗jqBsEM 30 of 113 menu

Darbība ar each metodi jQuery

Kad mums ir elementu grupa, kas iegūta ar jQuery palīdzību, mēs varam veikt tajās izmaiņas tikai visiem elementiem vienlaicīgi.

Piemēram, ja mēs vēlamies mainīt visu atrasto rindkopu tekstu - mums neizdosies to padarīt atšķirīgu.

Šajā gadījumā mums palīdzēs īpašā metode each, kas ļauj piemērot kādu funkciju visiem jQuery kopas elementiem. Šīs funkcijas ietvaros mēs varēsim atdalīt elementus un rīkoties atšķirīgi ar katru no tiem.

Būtībā each ir cikls, ar kura palīdzību var iziet cauri visiem atrastajiem elementiem. Saite uz to elementu, pa kuru šobrīd iet cikls, atradīsies this.

Mēs varam vienkārši izmantot šo this tīrā JavaScript, kā mēs to darījām agrāk, piemēram, šādi - this.innerHTML - un izvadīt mūsu elementu iekšējo saturu. Bet labāk ietīt this jQuery dolārā šādā veidā - $(this) - šajā gadījumā mēs varēsim tam piemērot visas jQuery metodes un ķēdes.

Apskatīsim šādu HTML kodu:

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

Šajā piemērā mums ir jāiegūst visi elementi ar klasi www un jāizvada ekrānā to saturs. Kā tas tiek darīts: ar $('.www') palīdzību mēs iegūstam vajadzīgos elementus, tad ar each(test) palīdzību mēs katram iegūtajam elementam piemērojam funkciju test. Tā vispirms tiks piemērota pirmajai rindkopai, pēc tam otrajai, trešajai un tā tālāk.

Funkcijas iekšienē this norādīs uz to elementu, kuram tiek piemērota funkcija test - sākumā tas būs pirmais elements, pēc tam otrais, un tā tālāk. Ar šādas konstrukcijas $(this) palīdzību mēs parastā this vietā no JavaScript iegūsim jQuery elementu un tam piemērosim metodi html, kas iegūs mūsu elementa tekstu. Nu, un tad tas vienkārši tiks izvadīts ekrānā:

/* Funkcijas vārdu test rakstam bez pēdiņām un (), jo mums vajag tās kodu, nevis rezultātu: */ $('.www').each(test); function test() { alert($(this).html()); }

Šīs uzdevuma risināšanai var izmantot arī anonīmas funkcijas - tā dara visbiežāk:

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

Mēs varam arī nodot metodei each callback-funkciju ar parametriem.

Nākamajā piemērā pievienosim beigās visām li lapā to kārtas numuru. Tagad mūsu anonīmajai funkcijai mēs nodosim elementa numuru un pašu elementu:

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

Un tagad elem vietā izmantosim this:

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

Mainiet visu li saturu uz to kārtas numuru.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt