如何获取已更改元素的外部样式表数据?

时间:2013-05-01 03:46:29

标签: javascript jquery html css external

我有一个元素,其位置已通过我的页面上的javascript更改,我需要检索它的原始(外部)样式。实现这一目标的最佳方法是什么?我假设必须有比删除元素和创建新元素更好的东西,因此它具有默认值。欢迎使用JQuery解决方案。

谢谢!

3 个答案:

答案 0 :(得分:0)

Jquery.Css方法将“style”属性注入已修改的元素,并覆盖外部文件中的所有先前的css。 要恢复默认css,您只需删除“样式”属性即可。

$(selector).removeAttr("style");

答案 1 :(得分:0)

将原件存储为元素的数据属性:

$('#element').data('original-css',$('#element').css('top')).css('top','20px');

然后恢复:

$('#element').css('top', $('#element').data('original-css'));

答案 2 :(得分:0)

因此,假设通过直接修改其样式(例如使用jQuery的.css()方法)重新定位元素,您可以这样做:

// De-jQuerify the element.  We need to get the style directly
var element = element.length ? element[0] : element;

// Store the currently-defined positioning that may be overriding
// the stylesheet.
var cur = {top: element.style.top, left: element.style.left};

// Remove any overriding positioning
element.style.left = element.style.top = null;

// Find the position of the element.
var pos = $(element).offset(); // Or $(element).position()

// Restore the old styles
$(element).css(cur);

对于没有覆盖其位置的元素,这也应该正常工作。