Aggiungere una classe a un elemento in jQuery
Ricordo che nell'attributo
class
nel codice HTML è possibile scrivere diverse
classi separate da spazio.
Immaginiamo questa situazione - si desidera
aggiungere una nuova classe a quelle esistenti, senza sovrascrivere
quelle presenti. In questo caso, semplicemente fare
.attr('class', 'new-class')
non funzionerà (utilizzando il metodo
attr)
- si andrebbero a sovrascrivere le classi
già presenti nell'attributo.
Si potrebbe, naturalmente, prima leggere le classi
presenti, poi aggiungere la nostra
classe separate da spazio e riscrivere tutto
nell'attributo, ma c'è un modo più semplice - in jQuery
per queste cose è previsto il metodo
addClass.
Il metodo addClass permette di aggiungere
una classe a un elemento (o elementi), senza sovrascrivere
le altre classi. La classe che si
desidera aggiungere all'elemento viene accettata come
parametro di questo metodo.
Nel seguente esempio abbiamo un elemento con
due classi - class="www zzz":
<p class="www zzz" id="test">text</p>
Possiamo aggiungergli una terza classe -
kkk. Di conseguenza il contenuto dell'attributo
diventerà così - class="www zzz kkk":
$('#test').addClass('kkk');
Il codice HTML apparirà così:
<p class="www zzz kkk" id="test">text</p>
Aggiungi a tutti gli li la classe test.