Mes jau keletą kartų kalbėjome apie nedidelius „jQuery“ API prisilietimus, kurie yra tikrai gana gražūs. Viskas gerai apgalvota ir išgryninta. Grandinės neabejotinai priklauso tai kategorijai. Pradėjus jį naudoti ir suprantant, jis jaučiasi nepaprastai natūralus, tarsi neturėtų būti jokio kito kelio.
Pagrindinė mintis yra ta, kad jūs naudojate kelis metodus iš eilės vienoje elementų kolekcijoje.
Pavyzdžiui, tarkime, kad spustelėjęs mygtuką noriu pakeisti klasę ir pakeisti tekstą. Bet mygtuko viduje yra šiek tiek HTML.
Open
Naudodami „jQuery“ galime „susieti grandinėmis“ visą veiksmų seriją.
$(".button") .removeClass("open") .addClass("closed") .find(".text") .text("Closed");
Tai įmanoma, nes dauguma „jQuery“ metodų, nors ir naudojami kaip seteris, grąžina elementų rinkinį taip pat, kaip ir tas, į kurį buvo kreiptasi. Kartais tas rinkinys yra visiškai tas pats, kaip yra su čia removeClass
ir addClass
čia, o kartais tas rinkinys yra pakeistas, kaip yra čia find
.
Pavyzdyje, su kuriuo dirbome vaizdo įraše, taip pat kalbėjome apie tai, .end()
kuris „palaiko“ vieną grandinės lygį.
$(".button") .removeClass("open") // .button .addClass("closed") // .button .find(".text") // .button .text .text("Closed") // .button .text .end(); // .button .data("thing"); // GETTER on .button
Galbūt tai geriau paaiškina. Kai elementų rinkinys pasikeičia, aš įtraukiau eilutę ir pastebėjau pakeitimą komentare. Tada, kai mes .end()
sugrįšime atgal į vieną lygį. Tai veikia, nesvarbu, kiek kartų pakeisite pasirinkimą. Viskas baigiasi, kai naudojate metodą, kuris grąžina ką nors kitą, išskyrus elementų rinkinį.