在JQuery / Javascript中检索原始样式表CSS属性值

时间:2011-06-10 01:29:10

标签: javascript jquery css

我知道样式表中的原始 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");

5 个答案:

答案 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。