我目前正在尝试将元素的原始CSS值保存在对象中,如下所示:
var xc = {
"pos": {
"ml": String($(this).css("margin-left")),
"mt": String($(this).css("margin-top"))
}
};
在存储了值之后,我改变了我刚刚存储的值的元素的CSS样式。
当我尝试从对象访问原始值时,我返回了元素的新CSS样式。
例如,235px存储在对象中,然后我将元素的235px更改为10px。该元素的235px现在变为10px。
答案 0 :(得分:4)
您可以使用style
.data()
值附加到jQuery选项中,轻松保存.css()
值
var $ele = $('#ele');
$ele.data( $ele.prop('style') );
如果您更改$ele
的css,但想要访问原始值,则只需调用$ele.data()[property]
即可。
例如,如果要将所有CSS值恢复为原始值,则只需将保存在数据中的对象传递给{{3}}:
$ele.css( $ele.data() );
答案 1 :(得分:0)
试试这个(只是没有字符串):
<!DOCTYPE html>
<html>
<head>
<script data-require="jquery@1.9.1" data-semver="1.9.1" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div style="margin-left: 10px; margin-top: 20px;"
onclick="var xc = {'pos': {'ml': $(this).css('margin-left'), 'mt': $(this).css('margin-top') } }; alert(xc.pos.ml + ' ' + xc.pos.mt);">Test</div>
</body>
</html>