# 10: Eksplicitno vs implicitno ponavljanje - CSS-trikovi

Anonim

Još jedan konceptni video! Ovo je "samo jedna od stvari" koju morate razumjeti u jQueryju. Zapravo je pomalo jedinstven za jQuery, jer druge popularne JavaScript knjižnice u prošlosti to nisu činile na ovaj način.

Već smo prilično pokrili selektore. Na primjer, već znate da $("p")će odabrati sve odlomke na stranici. Ne samo prvi ili neki slučajni, svi. Možete lako zamisliti da ih može biti mnogo na stranici. Sad zamislite što se događa kad to učinite:

$("p").hide();

Svi se oni sakriju, zar ne? Pravo. Ne prvi ili neki slučajni, svi. Ta implicitna ponavljanja . Iza kulisa, jQuery automatski petlja kroz čitav niz elemenata koje je pronašao i na njima pokreće metodu koju ste odabrali. Da bismo to učinili, doslovno ne trebamo sami pisati petlju. Čini se prilično očitim ako ste uvod u JavaScript jQuery, ali mnoge su knjižnice u prošlosti tražile da sami prelazite preko zbirki elemenata.

Ako želite, još uvijek možete sami napisati petlju. To bi možda izgledalo ovako, koristeći jQuery metode petlje:

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

To je otprilike ista stvar. Ne nužno, ali mogli biste. To je eksplicitna iteracija .

Ponekad trebate napraviti eksplicitnu iteraciju. U osnovi, ako trebamo pristupiti vrijednosti thisi učiniti nešto posebno s njom, trebat će nam vlastita konstrukcija petlje za rad.

Primjer u ovom screencast-u bio je brojanje znakova u stavkama popisa i dodavanje toga na kraj niza. Za to će nam trebati izričita iteracija.

Pogledajte olovku 4b53b9f55662d0d26339e18277500eee Chrisa Coyiera (@chriscoyier) na CodePen

Ovdje smo koristili jQuery-jevu metodu each () koja je savršena za ono što trebamo. Korisno što nam čini jest daje brojač indeksiran nulom svake iteracije kojoj možemo pristupiti ako je potrebno.

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