jQuery esplora - metodo prevUntil()
Esempio
Seleziona tutti i paragrafi e riduci il contenuto selezionato solo ai primi due paragrafi:
$("p").slice(0, 2).wrapInner(");
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');
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');
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');
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.