¿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.
$("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.
$('element').removeClass('class1 class2');
Aquí están los documentos .
.removeClass()
Documentación de jQuery .
Una o más clases CSS para eliminar de los elementos, estas están separadas por espacios.
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");
¡Hay muchas maneras de hacerlo!
jQuery
eliminar toda la clase
$("element").removeClass();
OR
$("#item").removeAttr('class');
OR
$("#item").attr('class', '');
OR
$('#item')[0].className = '';
eliminar multi clase
$("element").removeClass("class1 ... classn");
O
$("element").removeClass("class1").removeClass("...").removeClass("classn");
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
Clases separadas por blanco space
$('element').removeClass('class1 class2');
Debe separar las clases que desea eliminar por espacios en blanco$('selector').removeClass('class1 class2');
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"]);