Javascript:set element.style = element.style打破了样式?

时间:2013-12-31 18:14:23

标签: javascript

无论如何只是存储一个元素的当前样式状态,所以我可以破坏样式然后jsut重置它?

类似的东西(虽然这不起作用):http://jsfiddle.net/843Pj/

var el=document.getElementById('test');

var st=(function(s){
    var r=function(){return s;};
    return r;
}(el.style));

el.style.backgroundColor='blue';

el.style=st();

alert(el.style);

1 个答案:

答案 0 :(得分:2)

如果您只谈论原始内联样式,请使用.cssText对象的style属性。

var st = el.style.cssText; // store it

el.style.backgroundColor = 'blue'; // change it

el.style.cssText = st; // reset it

http://jsfiddle.net/843Pj/4/

您甚至可以将其存储在元素的data-属性中,以便以后轻松访问。