jQuery-läpikäynti - prevUntil() -menetelmä
Esimerkki
Valitse kaikki kohdat ja lyhennä valittu sisältö vain ensimmäiseen ja toiseen lukuun:
$("p").slice(0, 2).wrapInner(");
Määritelmä ja käyttö
slice() supistaa vastaavien elementtien kokoelman määritettyyn indeksialueeseen.
syntaksi
.slice(selector,end)
parametrit | kuvaus |
---|---|
selector |
Nollapohjainen kokonaisluku, joka viittaa valinnan alkamispisteeseen. Jos on negatiivinen, se viittaa etäisyyteen kokoelman lopusta laskettuna. |
end |
Nollapohjainen kokonaisluku, joka viittaa valittavan elementin sijaintiin. Jos on negatiivinen, se viittaa etäisyyteen kokoelman lopusta laskettuna. Jos jätetään tyhjäksi, valinnan laajuus päättyy kokoelman loppuun. |
Yksityiskohtainen selitys
Jos annetaan jQuery-objekti, joka edustaa DOM-elementtikokoelmaa, .slice() -menetelmä luo uuden jQuery-objektin, joka koostuu vastaavista elementtien alikokoelmista. Soveltettujen indeksien kokoelmassa olevan elementin sijainti; jos end -parametria ei mainita, kaikki indeksiin kuuluvat elementit sisältyvät tulokseen.
Mieti tätä yksinkertaista listaa sisältävää sivua:
<ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
Voimme soveltaa tätä menetelmää lista-alakohdien kokoelmaan:
$('li').slice(2).css('background-color', 'red');
Tässä kutsussa asetetaan taustaväri kohteille 3, 4 ja 5 punaiseksi. Huomaa, että sovellettu indeksi on nollapohjainen ja viittaa jQuery-objektin elementin sijaintiin, ei DOM-puun.
End -parametri mahdollistaa valinnan laajuuden tarkemman rajoittamisen. Esimerkiksi:
$('li').slice(2, 4).css('background-color', 'red');
Tässä vaiheessa valitaan vain kohteet 3 ja 4. Toistetaan, että indeksi on nollapohjainen; laajuus ulottuu (mutta ei sisällä) määritettyyn indeksiin asti.
Negatiivinen eksponentti
jQuery:n .slice() -menetelmä matkittaa JavaScript-taulukkojen .slice() -menetelmää. Yksi matkittamista ominaisuuksista on kyky lähettää negatiivisia lukuja start tai end -parametreille. Jos lähettää negatiivisia lukuja, ne viittaavat sijaintiin kokoelmasta lopusta laskettuna, ei alkupäästä. Esimerkiksi:
$('li').slice(-2, -1).css('background-color', 'red');
Tässä tapauksessa vain lista-alakohdassa 4 muuttuu punaiseksi, koska tämä kohta on ainoa, joka sijaitsee välillä lopusta laskettuna kaksi (-2) ja yksi (-1).