# 10: nepārprotama vs netieša atkārtošanās - CSS-triki

Anonim

Vēl viens koncepta video! Šī ir “tikai viena no tām lietām”, kas jums jāsaprot jQuery. Tas faktiski ir mazliet unikāls jQuery, jo citas populāras JavaScript bibliotēkas agrāk to nav darījušas.

Mēs jau esam diezgan daudz aptvēruši atlasītājus. Piemēram, jūs jau zināt, ka $("p")atlasīsit visas lapas rindkopas. Ne tikai pirmais vai kāds nejaušs, visi. Jūs viegli varat iedomāties, ka lapā var būt daudz šādu. Tagad iedomājieties, kas notiek, kad jūs to darāt:

$("p").hide();

Viņi visi tiek paslēpti, vai ne? Pa labi. Nevis pirmais vai kāds nejaušs, visi. Šī netiešā atkārtošana . Aizkulisēs jQuery automātiski iziet cauri visam atrastajam elementu kopumam un palaiž izvēlēto metodi. Lai to izdarītu, mums burtiski nav jāraksta cilpa. Šķiet diezgan acīmredzami, ja jūs iepazīstināt ar JavaScript ir jQuery, taču daudzas bibliotēkas pagātnē ir prasījušas, lai jūs pats iepazītos ar elementu kolekcijām.

Ja vēlaties, joprojām varat pats uzrakstīt cilpu. Tas varētu izskatīties šādi, izmantojot jQuery looping metodes:

$("p").each(function() ( $(this).hide(); ));

Tas ir tikai par to pašu. Nav obligāti, bet jūs varētu. Tā ir skaidra iterācija .

Dažreiz jums ir jāveic skaidra iterācija. Būtībā, ja mums ir jāpiekļūst vērtības vērtībai thisun ar to jādara kaut kas īpašs, mums būs nepieciešama sava cilpas konstrukcija, ar kuru strādāt.

Šīs ekrāna apraides piemērs bija saraksta vienumu rakstzīmju skaitīšana un pievienošana virknes beigām. Lai to izdarītu, mums būs nepieciešama skaidra atkārtošana.

Skatiet Chris Coyier (@chriscoyier) pildspalvu 4b53b9f55662d0d26339e18277500eee vietnē CodePen

Šeit mēs izmantojām jQuery katru () metodi, kas ir ideāli piemērota tam, kas mums nepieciešams. Noderīgs bits, ko tas mums dara, ir tas, ka katrs atkārtojums, kuram mēs varam piekļūt, ja nepieciešams, dod nulles indeksētu skaitītāju.

$(".there-are-three-of-me").each(function(i) ( console.log(i); )); // 0 // 1 // 2