我正在尝试弄清楚如何在使用 javascript 更改样式属性后恢复为样式表中的值(包括单位)。
在下面的示例中,我希望输出读取100px
(CSS 中的值),而不是10px
,getComputedStyle
给出。
我还将虚拟 div 保留在top:25px
,因此删除该style
属性将不起作用。
我最好的方法是克隆节点并读取高度并存储在属性中(http://jsfiddle.net/daneastwell/zHMvh/4/),但这并没有真正获得浏览器的默认 css 值(特别是如果这是设置在em
s)。
http://jsfiddle.net/daneastwell/zHMvh/1/
<style>
#elem-container{
position: absolute;
left: 100px;
top: 200px;
height: 100px;
}
</style>
<div id="elem-container">dummy</div>
<div id="output"></div>
<script>
function getTheStyle(){
var elem = document.getElementById("elem-container");
elem.style.left = "10px";
elem.style.top = "25px";
var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("left");
document.getElementById("output").innerHTML = theCSSprop;
}
getTheStyle();
</script>