Prototype.js:reset setStyle

jac*_*ore 6 javascript prototypejs

有没有办法如何将样式重置回我的CSS中?

例:

#foo {width: 50px; height: 50px; position: absolute; top: 150px; left: 250px;}


function moveFoo(newpostop, newposleft){
  $('foo').setStyle({top: newpostop+'px', left: newposleft+'px'});
}
Run Code Online (Sandbox Code Playgroud)

现在,当我完成它之后,我想把foo移回原处.我知道它可以是硬编码的,但我需要用25个不同的div来做这个.

谢谢

hei*_*eas 6

使用null-value 设置样式可以在prototype.js中取消设置

因此,您还可以使用$('foo').setStyle({top:null,left:null})还原所做的更改.


Dav*_*ton 5

设置样式不会消除CSS类中的所有元素.它只会覆盖已更改的那些.控件的实际样式是CSS样式和样式属性上的自定义样式的组合.要完全恢复CSS样式,只需删除样式属性即可.

$('#foo').removeAttr('style');
Run Code Online (Sandbox Code Playgroud)

编辑:

显然以上都行不通.我在评论中被告知以下情况:

$('#foo').writeAttr('style', '');
Run Code Online (Sandbox Code Playgroud)

  • 虽然问题中的例子似乎表明使用了**prototypejs**,但答案似乎是使用**jQuery**.并且```writeAttribute```完全从DOM-Node中删除```style```-Attribute,而其他答案只从中删除某些设置. (2认同)