0

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

谢谢!

4

3 回答 3

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);

这也应该适用于没有覆盖其位置的元素。

于 2013-05-01T04:36:59.733 回答
0

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

$(selector).removeAttr("style");
于 2013-05-01T04:25:58.783 回答
0

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

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

然后恢复:

$('#element').css('top', $('#element').data('original-css'));
于 2013-05-01T04:27:18.990 回答