.removeClass()

Se un nome di classe è incluso come parametro, solo quella classe verrà rimossa dal set di elementi corrispondenti. Se non vengono specificate classi nel parametro, tutte le classi verranno rimosse.

Prima di jQuery versione 1.12/2.2, il metodo.removeClass() manipolava la proprietàclassName degli elementi selezionati, non l’attributoclass. Una volta modificata la proprietà, è stato il browser ad aggiornare l’attributo di conseguenza. Ciò significa che quando l’attributoclass è stato aggiornato e il nome dell’ultima classe è stato rimosso, il browser potrebbe aver impostato il valore dell’attributo su una stringa vuota invece di rimuovere completamente l’attributo. Un’implicazione di questo comportamento era che questo metodo funzionava solo per documenti con semantica DOM HTML (ad esempio, non documenti XML puri).

A partire da jQuery 1.12/2.2, questo comportamento viene modificato per migliorare il supporto per i documenti XML, incluso SVG. A partire da questa versione, viene invece utilizzato l’attributo class. Quindi, .removeClass() può essere usato su documenti XML o SVG.

Più di una classe possono essere rimossi in un tempo, separati da uno spazio, da un insieme di corrispondenza di elementi, in questo modo:

1
$( "p" ).removeClass( "myClass yourClass" )

Questo metodo è spesso utilizzato con .addClass() per passare di elementi in classi da uno all’altro, così come:

1
$( "p" ).removeClass( "myClass noClass" ).addClass( "yourClass" );

Qui myClass e noClass classi vengono rimossi da tutti i paragrafi, mentre yourClass è aggiunto.

Per sostituire tutte le classi esistenti con un’altra classe, possiamo invece usare .attr( "class", "newClass" ).

A partire da jQuery 1.4, il metodo .removeClass() ci consente di indicare la classe da rimuovere passando in una funzione.

1
2
3
$( "li" ).last().removeClass(function() {
return $( this ).prev().attr( "class" );
});

This example removes the class name of the penultimate <li> from the last <li>.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *