2010-05-31 16 views

Respuesta

16

jQuery establece sus manipulaciones utilizando el atributo style en línea, por lo que simplemente configúrelo en ''.

$('#someDiv').attr('style',''); 

Esto supone que no había línea style atributos establecidos en el elemento procedente del servidor. Mejor usar hojas de estilo si es así.

Si el elemento debe provenir del servidor con los atributos style establecidos, entonces supongo que puede almacenar en caché el valor en una variable y restablecerlo cuando sea necesario.

// Cache original attributes 
var originalAttributes = $('#someDiv').attr('style'); 


    // Reset from original 
$('#someDiv').attr('style',originalAttributes); 

EDIT:

Si es necesario, puede enviar sus elementos desde el servidor con atributos personalizados para recordar el atributo original de class, por ejemplo.

<div class="myClass" originalClass="myClass">...</div> 

Luego puede consultar el original en cualquier momento que lo necesite.

Incluso podría encontrar todos los elementos que tengan el atributo originalClass así.

var $elementsWithOriginal = $('[originalClass]'); 

o encontrar elementos en los que el atributo class ha sido modificado a partir de la original.

var $modifiedFromOriginal = $('[originalClass]').filter(function() { 
     return $(this).attr('class') != $(this).attr('originalClass'); 
    }); 
+0

parece bien, ¿qué hay de la memorización de la clase que solía tener y no tener? – Moak

+0

@Moak - Tal vez intente algo un poco creativo como usar un atributo personalizado como originalClass, por lo que su elemento vendría del servidor como este: '

...
'. A continuación, puede obtener el valor de originalClass como cualquier otro atributo. – user113716

+0

@Moak - Actualicé mi respuesta con ejemplos. – user113716

Cuestiones relacionadas