在一系列操作之后,如何将元素重置为原始状态?

Moa*_*oak 5 css jquery elements

经过一堆动画,添加类和设置CSS样式.是否有一种简单的方法可以将元素重置为原始服务器交付状态?

use*_*716 17

jQuery使用inline style属性设置其操作,因此只需将其设置为''.

$('#someDiv').attr('style','');
Run Code Online (Sandbox Code Playgroud)

这假设在style来自服务器的元素上没有设置内联属性.如果是这样,最好使用样式表.

如果元素必须来自服务器并style设置了属性,那么我认为您可以将值缓存在变量中,并在需要时重置它.

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


   // Reset from original
$('#someDiv').attr('style',originalAttributes);
Run Code Online (Sandbox Code Playgroud)

编辑:

如果需要,您可以使用自定义属性从服务器发送元素,以记住原始class属性.

<div class="myClass" originalClass="myClass">...</div>
Run Code Online (Sandbox Code Playgroud)

然后您可以随时参考原件.

您甚至可以找到具有此originalClass属性的所有元素.

var $elementsWithOriginal = $('[originalClass]');
Run Code Online (Sandbox Code Playgroud)

或者class从原始文件中查找已修改属性的元素.

var $modifiedFromOriginal = $('[originalClass]').filter(function() {
        return $(this).attr('class') != $(this).attr('originalClass');
    });
Run Code Online (Sandbox Code Playgroud)