jQuery esplora - metodo prevUntil()

Esempio

Seleziona tutti i paragrafi e riduci il contenuto selezionato solo ai primi due paragrafi:

$("p").slice(0, 2).wrapInner(");

Prova personalmente

Definizione e uso

slice() riduce la raccolta di elementi corrispondenti a un sottoinsieme specificato dell'intervallo di indici.

Sintassi

.slice(selector,end)
Parametro Descrizione
selector

Valore intero basato su zero che indica la posizione dell'elemento di inizio selezione.

Se è negativo, indica un offset dalla fine della raccolta.

end

Valore intero basato su zero che indica la posizione dell'elemento di fine selezione.

Se è negativo, indica un offset dalla fine della raccolta.

Se omesso, l'intervallo di selezione finirà alla fine della raccolta.

Spiegazione dettagliata

Se si fornisce un oggetto jQuery che rappresenta una raccolta di elementi DOM, il metodo .slice() costruisce un nuovo oggetto jQuery con un sottoinsieme di elementi che corrispondono. L'indice applicato è la posizione di uno degli elementi nella raccolta di indici; se si omette il parametro end, tutti gli elementi successivi all'indice verranno inclusi nel risultato.

Pensa a questa pagina con una lista semplice:

<ul>
  <li>elemento elenco 1</li>
  <li>elemento elenco 2</li>
  <li>elemento elenco 3</li>
  <li>elemento elenco 4</li>
  <li>elemento elenco 5</li>
</ul>

Possiamo applicare questo metodo alla raccolta di elementi elenco:

$('li').slice(2).css('background-color', 'red');

Prova personalmente

Il risultato di questa chiamata è che il background degli elementi 3, 4 e 5 viene impostato su rosso. Si prega di notare che l'indice applicato è basato su zero e si riferisce alla posizione degli elementi nell'oggetto jQuery, non nella struttura DOM.

Il parametro end ci permette di limitare ulteriormente l'intervallo di selezione. Ad esempio:

$('li').slice(2, 4).css('background-color', 'red');

Prova personalmente

Ora, solo gli elementi 3 e 4 saranno selezionati. Riassumendo, l'indice è basato su zero; l'intervallo si estende fino a (ma non include) l'indice specificato.

Esponenti negativi

Il metodo .slice() di jQuery imita il metodo .slice() dell'oggetto array JavaScript. Una delle caratteristiche che imita è la capacità di passare numeri negativi come parametri start o end. Se si forniscono numeri negativi, indica una posizione a partire dalla fine della raccolta, non dalla parte iniziale. Ad esempio:

$('li').slice(-2, -1).css('background-color', 'red');

Prova personalmente

In questo caso, solo l'elemento elenco 4 diventerà rosso, poiché questo elemento si trova nell'intervallo tra il secondo da fine (-2) e il primo da fine (-1) dell'intervallo.