jQuery - найти в нескольких элементах определенный класс и добавить к первому, второму разные классы

У меня есть в контейнере div несколько новостных статей с изображениями и без них. Теперь нужно добавить для каждой статьи без изображения отдельный класс. Если есть изображение, оно оборачивается <div class="news-img-wrap"></div>. Статьи без изображений не имеют этого div. Так что я пробую это

$('.news-list-view article .content-background').each(function () {
   if ($(this).find('.news-img-wrap').length) {
      $(this).addClass('colored-box-red ');



   } else {
      $(this).addClass('default-box');
   }
});

Этот код отлично работает для всех статей с изображением, получающим дополнительный класс. Мой вопрос заключается в том, как я могу дать каждой статье с изображением другой дополнительный класс "первый, второй, третий"

Мой пример до сих пор.http://jsfiddle.net/b9JuT/

спасибо за вашу помощь и извините за мой плохой английский.


person user2395827    schedule 18.05.2013    source источник
comment
вы пытаетесь добавить еще три класса к каждому div, содержащему элемент, или добавить разные классы к некоторым div, содержащим элементы в определенном шаблоне или порядке?   -  person Brett Weber    schedule 18.05.2013


Ответы (1)


Вы можете использовать счетчик и создавать уникальные классы на лету, увеличивая его каждый раз при добавлении класса:

var classCount = 1;

$('.news-list-view article .content-background').each(function () {
if ($(this).find('.news-img-wrap').length) {
    $(this).addClass('colored-box-red ').addClass('img-' + classCount);
     classCount++;
} else {
    $(this).addClass('default-box');
}
});
person BIOS    schedule 18.05.2013