我有一个元素,其位置已通过我的页面上的 javascript 更改,我需要为其检索原始(外部)样式。实现这一目标的最佳方法是什么?我假设必须有比删除元素并创建一个新元素更好的东西,因此它具有默认值。欢迎使用 JQuery 解决方案。
谢谢!
我有一个元素,其位置已通过我的页面上的 javascript 更改,我需要为其检索原始(外部)样式。实现这一目标的最佳方法是什么?我假设必须有比删除元素并创建一个新元素更好的东西,因此它具有默认值。欢迎使用 JQuery 解决方案。
谢谢!
因此,假设元素通过直接修改其样式(例如使用 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);
这也应该适用于没有覆盖其位置的元素。
Jquery.Css 方法将“样式”属性注入到修改后的元素中,并覆盖外部文件中所有先前的 css。要恢复默认 css,您只需删除“样式”属性。
$(selector).removeAttr("style");
将原始数据存储为元素的数据属性:
$('#element').data('original-css',$('#element').css('top')).css('top','20px');
然后恢复:
$('#element').css('top', $('#element').data('original-css'));