使用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>
Run Code Online (Sandbox Code Playgroud)
为什么示例1不起作用?还有其他方法吗?
Chrome控制台不会显示任何错误.对象"样式"将形成JSON,因此我尝试优化代码,而不是手动编写每个样式,如第二个示例.
感谢您的任何帮助.
$('.text').css(style);
Run Code Online (Sandbox Code Playgroud)
它不起作用的原因是你创建了一个javascript文字对象.这就像您在第二个示例中用于传递参数的json.它不会起作用,因为它不会遍历您的对象,因此使它看起来格格不入.你已经完成了艰苦的工作,所以只需传递样式.
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |