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(");

Kokeile itse

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');

Kokeile itse

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');

Kokeile itse

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');

Kokeile itse

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).