jQuery - CSS propertyName

时间:2011-10-21 17:03:09

标签: jquery html css

使用jQuery v1.6.4,

我正在尝试动态格式化一些对象。

这是我的代码:

<html>
<head>
<script src="http://code.jquery.com/jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){

    style = {'color':'#F30', 'font-size':'20px'};

    /* example:1 - not working */
    for(attr in style) $('.text').css({attr:style[attr]});

    /* example:2 -works */
    //$('.text').css({'color':style['color']}).css({'font-size':style['font-size']});

})
</script>
</head>
<body>
    <div class="text">This is the text.</div>
</body>
</html>

为什么示例1不起作用?还有其他方法吗?

Chrome控制台未显示任何错误。 对象“style”将形成JSON,所以我试图优化代码,而不是手动编写每个样式,如第二个例子。

感谢您的帮助。

1 个答案:

答案 0 :(得分:6)

$('.text').css(style);

它不起作用的原因是你创建了一个javascript文字对象。这就像您在第二个示例中用于传递参数的json。它不会起作用,因为它不会遍历您的对象,因此使它看起来格格不入。你已经完成了艰苦的工作,所以只需传递样式。