# 15: Верига - CSS-трикове

Anonim

Вече говорихме няколко пъти за малки щрихи в jQuery API, които наистина са доста приятни. Всичко е добре обмислено и усъвършенствано. Веригирането определено попада в тази категория. След като започнете да го използвате и го разберете, той се чувства изключително естествен, сякаш не трябва да има друг начин.

Основната идея е, че използвате няколко метода подред в една колекция от елементи.

Например, да кажем, че след като щракна върху бутон, искам да променя клас, както и да променя малко текст. Но бутонът има малко HTML вътре.

 Open 

С jQuery можем да „обединим“ цялата поредица от действия заедно.

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

Това е възможно, тъй като повечето от методите на jQuery, докато се използват като сетер, връщат набор от елементи точно като този, за който е бил извикан методът. Понякога този набор е абсолютно същият, както е случаят с removeClassи addClassтук, а понякога този набор е променен, както е случаят тук find.

В примера, с който работихме във видеото, говорихме и за това, .end()което „отстъпва“ едно ниво на веригата.

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

Може би това го обяснява по-добре. Когато наборът от елементи се промени, направих отстъп на първия ред и отбелязах промяната в коментара. След това, когато се .end()отдръпнем, се отдръпваме на едно ниво. Това работи, независимо колко пъти променяте селекцията. Всичко свършва, когато използвате метод, който връща нещо различно от набор от елементи.