2011-10-21 36 views
1

使用jQuery v1.6.4,jQuery - CSS propertyName

我想動態地格式化一些對象。

這裏是我的代碼:

<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控制檯不顯示任何錯誤。 對象「風格」將形式JSON,所以我試圖優化代碼,而不是手動編寫每種樣式,如第二個示例中。

謝謝你的幫助。

回答

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

它不工作的原因是你已經創建了一個JavaScript文字對象。這就像你在第二個例子中用來傳遞參數的json。它不會工作,因爲它不會循環您的對象,因此看起來不正常。您已經完成了艱苦的工作,所以只需傳遞樣式即可。

相關問題