我知道样式表中的原始 css值可以使用:$('#id')。css('property','');但是有没有办法在不改变对象属性的情况下检索值?请注意,这可能与检索当前值有所不同,因为它可能已从样式表值更改。
可能的“解决方案”(未经测试)
var originalTopPos = $("#testPic").css("top");
....
$("#testPic").animate({"top": originalTopPos + "px"},"slow");
虽然我使用了很多图像...所以它比这复杂一点。
(我想将它从当前值设置为原始值,而不只是从一个值跳转到另一个值)
var currentTopPos = $("#testPic").css("top");
var originalTopPos = $("#testPic").css("top", "").css("top");
$("#testPic").css("top", currentTopPos + "px")
$("#testPic").animate({"top": originalTopPos + "px"},"slow");
答案 0 :(得分:3)
我找到了答案......
$(this).attr("customAttributeName", $(this).position().top);
然后你可以回忆起它:
$(this).attr("customAttributeName");
答案 1 :(得分:1)
最简单的方法取决于您是要推送当前值还是原始值。既然你说原文,那么最可靠的方法是(如果你正在使用JQuery)在$(document).ready(...)
内创建一个首先执行的脚本,并将所有内容的值存储到变量中。
第二种方法是$(this).css("style-name","")
(null参数重置为默认值)。
如果您只是推送当前值,您可以使用变量执行类似的操作。 myVar = $(this).css("style-name")
返回当前属性值。不要var myVar = ...
。它只是myVar
。我的浏览器对此大吼大叫。
答案 2 :(得分:0)
这将返回'none'
<div id="test" style="display:none;"></div>
var property = $('#test').css('display');
alert(property);
答案 3 :(得分:0)
这就是你要找的东西吗?
<html>
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
newColor = $('#id').css('color');
$('#newid').css('color',newColor);
$('#id').css('color','green');
});
</script>
<style type="text/css" media="screen">
#id{color:red;}
</style>
</head>
<body>
<div id="id"><h1>Boom!</h1></div>
<div id="newid"><h1>Boom!</h1></div>
</body>
</html>
答案 4 :(得分:-1)
假设我理解这个问题,你只需要像object.style.property这样的东西,不需要jQuery。