2016-05-09 54 views
2

我需要使用jQuery在集合的每個元素上添加CSS屬性。有什麼建議麼?將css屬性添加到來自對象的集合

var jsonCss = { 
    "color": "#555555", 
    "font-weight": "bold", 
    "text-align": "left" 
}; 

var $tdCollection = $("tr:first-child").find("td:nth-child(2)"); //A collection of <td> elements 
$.each($tdCollection, function(k, v){ 
    v.css(jsonCss); 
}) 
+0

使用類和類添加到您想給CSS – guradio

+0

謝謝你幫助的元素。我必須使用JSON對象。 – zm455

回答

4

你並不需要在這裏使用each(),你可以應用CSS設置jQuery對象中的所有元素:

var cssObject = { 
    "color": "#555555", 
    "font-weight": "bold", 
    "text-align": "left" 
}; 

var $tdCollection = $("tr:first-child").find("td:nth-child(2)"); 
$tdCollecton.css(cssObject); 

另外請注意,對象定義其持有CSS規則與JSON完全無關 - 它是一個對象 - 因此我改變了它的名字。

2

您可以使用for...in

var jsonCss = { 
 
    "color": "#555555", 
 
    "font-weight": "bold", 
 
    "text-align": "left" 
 
}; 
 

 
var $tdCollection = $("tr:first-child").find("td:nth-child(2)"); 
 
for (var p in jsonCss) { 
 
    $tdCollection.css(p, jsonCss[p]); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr><td>Lorem</td><td>Lorem</td></tr> 
 
</table>