Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取已更改元素的外部样式表数据?_Javascript_Jquery_Html_Css_External - Fatal编程技术网

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

Javascript 如何获取已更改元素的外部样式表数据?,javascript,jquery,html,css,external,Javascript,Jquery,Html,Css,External,我有一个元素,它的位置已通过javascript在我的页面上更改,我需要检索它的原始(外部)样式。实现这一目标的最佳方式是什么?我假设一定有比删除元素并创建一个新元素更好的东西,这样它就有了默认值。JQuery解决方案是受欢迎的 谢谢 Jquery.Css方法将“style”属性注入到修改的元素中,并覆盖外部文件中所有以前的Css。 要恢复默认css,只需删除“style”属性 $(selector).removeAttr("style"); 将原始数据存储为元素的数据属性: $('#elem

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

谢谢

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

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

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

$('#element').data('original-css',$('#element').css('top')).css('top','20px');
然后恢复:

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

因此,假设通过直接修改其样式(例如,使用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);

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

您更改了元素的位置并想要原始位置?是的,这就是我所需要的。是的,有必要对其进行更改,然后再次获取原始值,真的没有其他方法来完成我所追求的。为什么不将原始值保留在javascript变量中,然后使用jquery.css方法再次放置它?我试图避免变量混乱,所以我希望能有更具动态性的东西来直接访问外部样式表。第一次你是如何更改它的?使用jquery.css?该函数将样式属性注入元素,您只需删除该属性,更改就会消失。