Sé que esto ha sido respondido, pero el OP preguntó cómo restaurar el estilo que se cambió a través de Javascript. En otras palabras, ¿cómo restauro el estilo que mi elemento tenía ANTES de que fuera cambiado por otra cosa? Lo siento, pero no creo que las respuestas anteriores lo hagan. Las respuestas eliminar el estilo, no restaurar !
Utilizo CSS tanto como puedo y he logrado una forma de "capar" un nuevo estilo CSS en un elemento y eliminar la capa según sea necesario, revelando el estilo original/predeterminado.
Lets' asumir Tengo un gridview con la siguiente css ...
table.gvCSS {
margin-top: 50px;
font: 12px Verdana;
}
table.gvCSS > tbody > tr {
background-color: white;
}
table.gvCSS > tbody > tr:nth-of-type(odd) {
background-color: #EEE;
}
table.gvCSS > tbody > tr:first-of-type {
background-color: #5D7B9D;
color: white;
}
table.gvCSS > tbody > tr.selected-row {
background-color: yellow;
}
Mi GridView ...
<asp:GridView ID="gvTETstudents" runat="server"
CssClass="gvCSS">
<Columns>
....
...
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="Orange" Font-Bold="True" ForeColor="Black" VerticalAlign="Bottom" />
</asp:GridView>
Estas pequeñas funciones de control agregar y quitar las clases como los necesito ...
function hasClass(ele,cls) {
return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
if (!hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
function highlightRow(chk) {
var row = chk.parentNode.parentNode.parentNode;
if (chk.checked)
addClass(row, 'selected-row');
else
removeClass(row, 'selected-row');
}
Así que cuando tengo que alternar el fondo de la fila, por ejemplo ...
<asp:CheckBox ID="cbSKIP" runat="server"
Font-Size="10pt" Font-Italic="true" ForeColor="DarkGreen" BackColor="Yellow"
onClick="highlightRow(this)"
ToolTip="Choosing this will save the comment into the student's contact-log, but not actually email it!"
Text="SAVE TO CONTACT-LOG ONLY (no email)?" />
No importa qué estilos que tenía en la fila original, lo anterior se aplicará un nuevo estilo y eliminarlo, revelando lo que tenía originalmente (es decir: la alternancia de filas del gridview de forma alterna).
Esta respuesta es mejor que la mía. – jessegavin
@jessegavin, su respuesta también es correcta: si el elemento tiene un estilo con CSS en línea, debería guardarlo. – Pointy
Aparentemente no funciona con "animate" de jQuery. –