# 10: Explicit vs Implicit Iteráció - CSS-trükkök

Anonim

Újabb koncepciós videó! Ezt „csak egy dolognak” kell megértenie a jQuery-ben. Valójában kissé egyedi a jQuery számára, mivel a múltban más népszerű JavaScript könyvtárak nem így tettek.

A kiválasztókat már eléggé lefedtük. Például már tudja, hogy $("p")kiválasztja az oldal összes bekezdését. Nem csak az első, vagy valamilyen véletlenszerű, mindegyik. Könnyen elképzelhető, hogy sok ilyen lehet egy oldalon. Most képzelje el, mi történik, ha megteszi:

$("p").hide();

Mindannyian el vannak rejtve, igaz? Jobb. Nem az első, vagy valami véletlenszerű, mindegyik. Ez az implicit iteráció . A színfalak mögött a jQuery automatikusan áttekinti a talált elemek teljes készletét, és futtatja az általuk kiválasztott módszert. Ehhez szó szerint nem kell magunknak hurkot írni. Meglehetősen kézenfekvőnek tűnik, ha a Java jQuery bevezetését hajtja végre, de a múltban sok könyvtár megkövetelte, hogy maga is áttekintsen egy elemgyűjteményt.

Ha akarod, akkor is megírhatod a ciklust. Ez talán így nézne ki a jQuery looping módszerekkel:

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

Nagyjából ugyanaz. Nem feltétlenül, de lehetne. Ez kifejezett iteráció .

Néha kifejezetten meg kell ismételni. Alapvetően, ha hozzá kell férnünk az értékéhez thisés valami különlegeset kell tennünk vele, akkor saját hurok-konstrukcióra lesz szükségünk, amellyel működhetünk.

Ebben a képernyőn a példa a listaelemekben szereplő karakterek számbavétele volt, és ezt fűzte hozzá a karakterlánc végéhez. Ehhez kifejezett iterációra lesz szükségünk.

Lásd: Chris Coyier (@chriscoyier) Pen 4b53b9f55662d0d26339e18277500eee a CodePen-en

Itt a jQuery egyes () metódusait használtuk, amelyek tökéletesek arra, amire szükségünk van. Hasznos bit számunkra, ha nulla indexű számlálót adunk minden egyes iterációhoz, amelyhez szükség esetén hozzáférhetünk.

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