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 this
i 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