我有一个带有类的元素,该类有一个设置宽度。后来我用$('#elm')更改宽度.width(100);现在,甚至以后,我想回到原来的价值。有没有办法从类定义本身获取原始值,而不是存储一堆带有我需要的值的全局变量。
谢谢, 贾斯汀
答案 0 :(得分:3)
为什么不将修改后的宽度声明为另一个类,然后可以切换,而不是在javascript中使用显式值?
答案 1 :(得分:2)
您可以使用.data()
存储原始文件,然后从那里恢复原始值,而不是使用全局值 - 它会以这种方式关联它们。
答案 2 :(得分:1)
我建议使用nikc的答案,但是如果要删除脚本添加的任何样式,并且将它们返回到您指定的CSS值,则可以始终$('#elm').removeAttr("style");
。
但是,实际上,您应该将样式留在代码之外,只需添加,删除和切换各种类。
答案 3 :(得分:0)
不是来自通过JS显式设置宽度的同一元素;但你可以创建一个新元素,给它一个类,看看它得到的宽度。
示例:
$('#elem').width(100);
alert($('#elem').width()); // this will return 100, no matter what width #elem was before
$('body').add('<div class="someclass" id="elem2"></div>');
alert($('#elem').width()); // this may return the width as assigned in CSS to .someclass