Olemme puhuneet nyt useita kertoja jQuery-sovellusliittymän pienistä kosketuksista, jotka ovat todella mukavia. Kaikki on harkittu ja hienostunut. Ketjutus kuuluu ehdottomasti tähän luokkaan. Kun aloitat sen käytön ja ymmärrät sen, se tuntuu erittäin luonnolliselta, kuten ei pitäisi olla muuta tapaa.
Pääajatus on, että käytät useita menetelmiä peräkkäin yhdessä elementtikokoelmassa.
Oletetaan esimerkiksi, että kun napsautan painiketta, haluan vaihtaa luokkaa ja muuttaa tekstiä. Mutta painikkeen sisällä on HTML-koodi.
Open
JQueryn avulla voimme "ketjuttaa" koko toimintosarjan yhdessä.
$(".button") .removeClass("open") .addClass("closed") .find(".text") .text("Closed");
Tämä on mahdollista, koska useimpia jQueryn menetelmistä, vaikka niitä käytetään setereinä, palautetaan elementtijoukko aivan kuten menetelmä, johon menetelmää kutsuttiin. Joskus kyseinen joukko on täsmälleen sama, kuten on tässä removeClass
ja addClass
täällä, ja joskus sitä joukkoa muutetaan kuten tässä tapauksessa find
.
Videossa työskennellyssä esimerkissä puhuimme myös siitä, .end()
mikä "tukee" ketjun yhtä tasoa.
$(".button") .removeClass("open") // .button .addClass("closed") // .button .find(".text") // .button .text .text("Closed") // .button .text .end(); // .button .data("thing"); // GETTER on .button
Ehkä se selittää sen paremmin. Kun elementtijoukko muuttuu, sisennin rivin ja huomasin muutoksen kommentissa. Sitten kun .end()
se palaa takaisin yhdelle tasolle. Tämä toimii riippumatta siitä, kuinka monta kertaa muutat valintaa. Kaikki päättyy, kun käytät menetelmää, joka palauttaa jotain muuta kuin joukko elementtejä.