# 10: Explicitná vs Implicitná iterácia Triky CSS

Anonim

Ďalšie koncepčné video! Toto je „len jedna z tých vecí“, ktorým musíte v jQuery rozumieť. Je to vlastne trochu jedinečné pre jQuery, pretože iné populárne knižnice JavaScriptu v minulosti to takto nerobili.

Selektorov sme sa už dosť venovali. Napríklad už viete, že $("p")sa vyberú všetky odseky na stránke. Nielen prvý alebo nejaký náhodný, všetky. Môžete si ľahko predstaviť, že ich na stránke môže byť veľa. Teraz si predstavte, čo sa stane, keď urobíte:

$("p").hide();

Všetky sú skryté, že? Správny. Nie prvý alebo nejaký náhodný, všetky. To je implicitná iterácia . V zákulisí jQuery automaticky prechádza celou sadou nájdených prvkov a spustí na nich metódu, ktorú ste vybrali. Aby sme to dosiahli, nemusíme doslova písať slučky. Zdá sa byť zrejmé, že ak ste sa oboznámili s jazykom JavaScript, je program jQuery, ale veľa knižníc v minulosti od vás vyžadovalo, aby ste si sami prešli zbierky prvkov.

Ak chcete, môžete si cyklus sami napísať sami. To by možno vyzeralo takto, pomocou metód opakovania jQuery:

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

To je asi to isté. Nie nevyhnutne, ale mohli by ste. To je výslovná iterácia .

Niekedy musíte urobiť výslovnú iteráciu. V zásade, ak potrebujeme získať prístup k hodnote parametra thisa urobiť s ním niečo špeciálne, na prácu budeme potrebovať vlastnú konštrukciu slučky.

Príkladom v tomto vysielaní bolo počítanie znakov v položkách zoznamu a ich pridanie na koniec reťazca. Budeme na to potrebovať výslovnú iteráciu.

Prezrite si pero 4b53b9f55662d0d26339e18277500eee od Chrisa Coyiera (@chriscoyier) na stránkach CodePen

Použili sme tu metódu jQuery each (), ktorá je ideálna pre to, čo potrebujeme. Užitočný bit, ktorý pre nás robí, je to, že nám poskytuje počítadlo s nulovým indexom každej iterácie, ku ktorej máme v prípade potreby prístup.

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