2010-02-24 13 views
9

Una clase CSS jQuery se establecen los siguientes:cómo reemplazar una clase usando jQuery

.newwidget { border: 1px solid #5a9ee9; background: #5a9ee9 url(t6.gif) 50% 50% repeat-x; color: #ffffff; font-weight: bold; text-transform: uppercase; padding:3px 3px 3px 10px; font-size:10px} 

¿Cómo puede esta clase pueden anular y una nueva clase añade de modo que pueda poner diferentes estilos en ella? Tal vez tengo que eliminar antes de las clases antes de agregarlas. ¿Cómo se hace esto?

Gracias

+0

¿Está tratando de redefinir newwidget para que todos los elementos con esa clase tengan un nuevo estilo? ¿O estás tratando de cambiar la clase de un elemento existente? –

+1

Solo para que lo sepa, aunque eliminar la clase anterior es una opción, no es obligatorio. Si hay estilos en el anterior que desea usar, simplemente use 'addClass()', que 'mejorará' el elemento con los estilos en la nueva clase. De lo contrario, use las soluciones que figuran a continuación. – user113716

+0

Gracias .............................. – Hulk

Respuesta

15

Utilice el selector de clase con addClass y removeClass.

$('.newwidget').removeClass('newwidget').addClass('newerwidget'); 
4

Puede que remove la clase de edad y add una nueva:

$myJQObject.removeClass('newwidget').addClass('newclass'); 
6

jQuery define addClass() y removeClass() para este propósito:

$("#ElementId").removeClass('oldClassName').addClass('newClassName'); 

Los dos funciones hacen lo obvio . Cadena de esta manera para cambiar la clase, todo en una sola acción.

Si desea cambiar todos los elementos de 'oldClass' a 'NewClass', se puede utilizar un selector de la siguiente manera:

$(".oldClassName").removeClass('oldClassName').addClass('newClassName'); 
+0

Gracias por la explicación – Hulk

2
$(this).removeClass('oldClass').addClass('newClass'); 
2

Creo que vale la pena señalar que se puede eliminar todo las clases dejando fuera el parámetro de removeClass():

$('.newwidget').removeClass().addClass('newerwidget'); 
1

Si usted está buscando para sustituir por completo las clases existentes en un elemen t, puede usar el método .attr().

$('#elementId').attr('class', 'newClassName'); 

Se reemplazarán todas las clases en elementId.

Cuestiones relacionadas