2016-05-09 4 views
2

Мне нужно добавить свойства CSS для каждого элемента коллекции с помощью jQuery. Какие-либо предложения?Добавить свойства 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>

Смежные вопросы