Eliminar varias clases (jQuery)


615

¿Hay alguna manera mejor de reescribir esto?

$('element').removeClass('class1').removeClass('class2');

No puedo usar, removeClass();ya que eliminaría TODAS las clases, que no quiero.

Respuestas:


1128
$("element").removeClass("class1 class2");

De removeClass(), el parámetro de clase:

Una o más clases CSS para eliminar de los elementos, estas están separadas por espacios.



19

.removeClass()Documentación de jQuery .

Una o más clases CSS para eliminar de los elementos, estas están separadas por espacios.


17

La documentación dice:

class (Optional) String
Una o más clases CSS para eliminar de los elementos, estas están separadas por espacios.

Ejemplo:

Elimine la clase 'azul' y 'debajo' de los elementos coincidentes.

$("p:odd").removeClass("blue under");

12

¡Hay muchas maneras de hacerlo!

jQuery

  1. eliminar toda la clase
    $("element").removeClass();
    OR
    $("#item").removeAttr('class');
    OR
    $("#item").attr('class', '');
    OR
    $('#item')[0].className = '';

  2. eliminar multi clase
    $("element").removeClass("class1 ... classn");
    O
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Javascript vainilla

  1. eliminar toda clase

// remove all items all class  
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
    items[i].className = '';
}

  1. eliminar múltiples clases

// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';


2

Clases separadas por blanco space

$('element').removeClass('class1 class2');

1

Debe separar las clases que desea eliminar por espacios en blanco$('selector').removeClass('class1 class2');


0

Desde jQuery 3.3.0 , es posible pasar matrices a .addClass(),. removeClass()y toggleClass(), lo que hace que sea más fácil si existe alguna lógica que determine qué clases deben agregarse o eliminarse, ya que no es necesario perder el tiempo con las cadenas delimitadas por espacios.

$("div").removeClass(["class1", "class2"]); 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.