# 15: Láncolás - CSS-trükkök

Anonim

Most már számos alkalommal beszéltünk a jQuery API apró érintéseiről, amelyek nagyon szépek. Minden jól átgondolt és kifinomult. A láncolás határozottan ebbe a kategóriába tartozik. Miután elkezdte használni és megértette, rendkívül természetes érzés, mintha nem is lehetne más út.

A fő gondolat az, hogy több metódust használjon egymás után egyetlen elemgyűjteményen.

Tegyük fel például, hogy miután rákattintottam egy gombra, osztályt, valamint szöveget akarok változtatni. De a gombon van némi HTML.

 Open 

A jQuery segítségével a cselekvések teljes sorozatát „láncolhatjuk” össze.

$(".button") .removeClass("open") .addClass("closed") .find(".text") .text("Closed");

Ez azért lehetséges, mert a jQuery metódusainak többsége szetterként ugyanúgy visszaad egy elemkészletet, mint amire a metódust hívták. Néha ez a halmaz pontosan megegyezik, hasonlóan a helyzethez removeClassés addClassitt, és néha ez a halmaz megváltozik, mint itt find.

A példában, amellyel a videón dolgoztunk, arról is beszéltünk, hogy .end()melyik „támasztja alá” az egyik szintet a láncban.

$(".button") .removeClass("open") // .button .addClass("closed") // .button .find(".text") // .button .text .text("Closed") // .button .text .end(); // .button .data("thing"); // GETTER on .button

Talán ez jobban megmagyarázza. Amikor az elemek halmaza megváltozik, behúztam az első sort, és megjegyeztem a változást. Aztán amikor .end()visszalépünk egy szinttel. Ez függetlenül attól, hogy hányszor változtatja meg a választást. Az egész akkor ér véget, ha olyan módszert használ, amely az elemek halmazától eltérő valamit ad vissza.