2015-01-16 2 views
0

Я хочу добавить различные классы в набор повторяющихся элементов.Добавить еще один класс в набор аналогичного класса

<div class="widget"></div> 
<div class="widget"></div> 
<div class="widget"></div> 
<div class="widget"></div> 

Я хочу стилизовать вышеуказанные элементы div, добавив к ним различные классы стилей.

Он должен стать как этот

<div class="widget fg-white"></div> 
<div class="widget fg-black"></div> 
<div class="widget fg-red"></div> 
<div class="widget fg-green"></div> 

Я знаю, прямой метод редактирования CSS с помощью JQuery, описанной here. Но здесь я хочу добавить классы, у которых уже есть стили, которые я хочу.

+0

ваш пост не очень понятно, вы можете предоставить лучшее объяснение или jsfiddle ? – Scriptable

+0

Что делать, если есть более 4 элементов? Вы предпринимали какие-либо попытки достичь этого сами? –

ответ

3

Вы можете использовать:

var colors = ["white", "black", "red", "green"]; 

$('.widget').each(function(i) { 
    $(this).addClass("fg-"+colors[i % colors.length]); 
}); 

Working Demo

+0

Просто 'colors [i]' будет работать нормально ... –

+0

это работает, спасибо! – Nigel

1

Вы можете использовать так:

var klasses = ['fg-white','fg-black','fg-red','fg-green']; 
$('.widget').each(function(){ 
    return $(this).addClass(function(i){ 
     return klasses[i]; 
    }); 
}); 
Смежные вопросы