¿Cómo eliminar todas las clases CSS usando jQuery / JavaScript?
Frecuentes
Visto 573,189 equipos
802
En lugar de llamar individualmente $("#item").removeClass()
para cada clase que pueda tener un elemento, ¿hay una única función a la que se pueda llamar que elimine todas las clases CSS del elemento dado?
Tanto jQuery como JavaScript sin formato funcionarán.
13 Respuestas
1562
$("#item").removeClass();
llamar removeClass
sin parámetros eliminará todas las clases del elemento.
También puede utilizar (aunque no se recomienda necesariamente, el correcta camino es el de arriba):
$("#item").removeAttr('class');
$("#item").attr('class', '');
$('#item')[0].className = '';
Si no tuviera jQuery, esta sería prácticamente su única opción:
document.getElementById('item').className = '';
Respondido el 15 de Septiembre de 09 a las 12:09
120
Espera, ¿no elimina removeClass () por defecto todas las clases si no se especifica nada específico? Entonces
$("#item").removeClass();
lo hará por su cuenta ...
Respondido el 15 de Septiembre de 09 a las 04:09
sí: "Elimina todas o las clases especificadas del conjunto de elementos coincidentes". - da5id
Ahora es documentado adecuadamente: Si no se especifican nombres de clase en el parámetro, se eliminarán todas las clases. - usuario
18
Solo configure el className
atributo del elemento DOM real a ''
(nada).
$('#item')[0].className = ''; // the real DOM element is at [0]
Edit: Otras personas han dicho que solo llama removeClass
funciona - Probé esto con Google JQuery Playground: http://savedbythegoog.appspot.com/?id=ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ... y funciona. Entonces también puedes hacerlo de esta manera:
$("#item").removeClass();
Respondido el 15 de Septiembre de 09 a las 04:09
13
Claro.
$('#item')[0].className = '';
// or
document.getElementById('item').className = '';
Respondido el 15 de Septiembre de 09 a las 04:09
12
Je, vino buscando una respuesta similar. Entonces me di cuenta.
Eliminar clases específicas
$('.class').removeClass('class');
Di si el elemento tiene clase = "clase otra clase"
Respondido el 08 de junio de 14 a las 19:06
9
El método más corto
$('#item').removeAttr('class').attr('class', '');
Respondido el 21 de enero de 13 a las 15:01
5
Puedes intentarlo
$(document).ready(function() {
$('body').find('#item').removeClass();
});
Si tiene que acceder a ese elemento sin un nombre de clase, por ejemplo, tiene que agregar un nuevo nombre de clase, puede hacerlo:
$(document).ready(function() {
$('body').find('#item').removeClass().addClass('class-name');
});
Utilizo esa función en mi proyecto para eliminar y agregar clases en un constructor html. Buena suerte.
Respondido 03 Jul 17, 07:07
4
$('#elm').removeAttr('class');
ya no estará presente class attr en "elm".
Respondido el 31 de enero de 17 a las 13:01
esto es lo que funcionó para mí. removeClass();
no funcionó para mí. - arrodillados
3
Dado que no todas las versiones de jQuery se crean de la misma manera, es posible que se encuentre con el mismo problema que yo, lo que significa llamar a $ ("# item"). RemoveClass (); en realidad, no elimina la clase. (Probablemente un error)
Un método más confiable es simplemente usar JavaScript sin formato y eliminar el atributo de clase por completo.
document.getElementById("item").removeAttribute("class");
Respondido el 20 de junio de 16 a las 21:06
3
Me gusta usar js nativos, ¡lo crea o no!
1.
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
2.
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
Formas de jQuery
$("#item").removeClass();
$("#item").removeClass("class1 ... classn");
Respondido el 13 de junio de 17 a las 04:06
2
Usemos este ejemplo. Tal vez desee que el usuario de su sitio web sepa que un campo es válido o necesita atención cambiando el color de fondo del campo. Si el usuario presiona restablecer, su código solo debe restablecer los campos que tienen datos y no molestarse en recorrer todos los demás campos de su página.
Este filtro jQuery eliminará la clase "highlightCriteria" solo para los campos de entrada o selección que tengan esta clase.
$form.find('input,select').filter(function () {
if((!!this.value) && (!!this.name)) {
$("#"+this.id).removeClass("highlightCriteria");
}
});
Respondido 19 Oct 18, 22:10
1
prueba con removeClass
En el:
var nameClass=document.getElementsByClassName("clase1");
console.log("after", nameClass[0]);
$(".clase1").removeClass();
var nameClass=document.getElementsByClassName("clase1");
console.log("before", nameClass[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="clase1">I am Div with class="clase1"</div>
Respondido el 18 de enero de 17 a las 15:01
-2
Tuve un problema similar. En mi caso, en los elementos deshabilitados se aplicó esa clase aspNetDisabled y todos los controles deshabilitados tenían colores incorrectos. Entonces, usé jquery para eliminar esta clase en cada elemento / control que no quiero y todo funciona y se ve muy bien ahora.
Este es mi código para eliminar la clase aspNetDisabled:
$(document).ready(function () {
$("span").removeClass("aspNetDisabled");
$("select").removeClass("aspNetDisabled");
$("input").removeClass("aspNetDisabled");
});
contestado el 14 de mayo de 14 a las 15:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery dom or haz tu propia pregunta.
¿No debería el
attr()
la versión seaprop()
¿ahora? - MikeLlamar a removeClass () sin parámetros parece que ya no funciona en la versión 1.11.1 - Vincent
@Vincent Parece un error introducido en jQuery ya que su documentación establece explícitamente esto:
If a class name is included as a parameter, then only that class will be removed from the set of matched elements. If no class names are specified in the parameter, all classes will be removed.
api.jquery.com/removeclass - AteoP3aceSí, también sospecho que es un error, y no por diseño. Mientras tanto, el siguiente JavaScript puro funciona bien. document.getElementById ("elemento"). removeAttribute ("clase"); - Vincent
Hay un problema con jQuery UI 1.9. Si removeClass () no funcionó, use removeAttr ('class') - Milad