# 10: eksplicitna vs implicitna ponovitev - CSS-triki

Anonim

Še en konceptni video! To je "samo ena od tistih stvari", ki jo morate razumeti v jQueryju. Pravzaprav je nekoliko edinstven za jQuery, saj druge priljubljene knjižnice JavaScript v preteklosti tega še niso storile.

Izbirnike smo že precej pokrili. Na primer, že veste, da $("p")bodo izbrani vsi odstavki na strani. Ne samo prvi ali kakšen naključni, vsi. Zlahka si predstavljate, da je teh na strani lahko veliko. Zdaj pa si predstavljajte, kaj se zgodi, ko to storite:

$("p").hide();

Vsi se skrijejo, kajne? Prav. Ne prvi ali kakšen naključni, vsi. Ta implicitna ponovitev . JQuery v zakulisju samodejno pregleda ves nabor elementov, ki jih je našel, in na njih zažene metodo, ki ste jo izbrali. Za to nam ni treba dobesedno pisati zanke. Zdi se dokaj očitno, če je uvod v JavaScript jQuery, toda številne knjižnice so v preteklosti zahtevale, da sami pregledujete zbirke elementov.

Če želite, lahko zanko še vedno napišete sami. To bi morda izgledalo takole z uporabo metod zanke jQuery:

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

To je približno ista stvar. Ni nujno, lahko pa bi. To je eksplicitna ponovitev .

Včasih morate narediti izrecno ponovitev. V bistvu, če moramo dostopati do vrednosti thisin z njo narediti nekaj posebnega, bomo za delo potrebovali lastno konstrukcijo zanke.

Primer v tem predvajanju zaslona je bil štetje znakov v elementih seznama in dodajanje tega na konec niza. Za to bomo potrebovali izrecno ponovitev.

Glej pisalo 4b53b9f55662d0d26339e18277500eee Chrisa Coyierja (@chriscoyier) na CodePen

Tu smo uporabili metodo jQuery each (), ki je kot nalašč za tisto, kar potrebujemo. Koristni del, ki ga naredi za nas, je, da nam daje nič indeksiranega števca vsako iteracijo, do katere lahko po potrebi dostopamo.

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