как добавить класс с 4 года - PullRequest
1 голос
/ 03 мая 2011

Я добавил классы для всех своих элементов, но я хочу, чтобы классы начинались с номера 4 (первый класс - .cc_content_4, а затем - .cc_content_5 и т. Д.), Поэтому я попытался изменить число, для которого установлен счетчик,Это не сработало. Есть идеи?Вот мой код

$(".cc_submenu").find("ul.portfolio-list li").each(function(i){
    i == 4;
    $(this).addClass("cc_content_"+i);
    var href = $(this).find("a").attr("href");
    $(this).find("a").attr("href","#");
    $('.cc_content .cc_content_'+i).load(href);
});

Ответы [ 3 ]

4 голосов
/ 03 мая 2011

Вы используете i == 4, который является оператором равенства, а не присваиванием. Просто измените его на i += 4;

$(".cc_submenu").find("ul.portfolio-list li").each(function(i){
    //i == 4; // This part will just return true/false, not change i
    i += 4; // this is what you're looking for.
    $(this).addClass("cc_content_"+i);
    var href = $(this).find("a").attr("href");
    $(this).find("a").attr("href","#");
    $('.cc_content .cc_content_'+i).load(href);
});
2 голосов
/ 03 мая 2011

Прежде всего, вы используете оператор равенства вместо присваивания (== вместо =).Во-вторых, вы можете установить переменную вне итерационной функции each, а затем увеличить ее на единицу:

var i = 4;
$(".cc_submenu").find("ul.portfolio-list li").each(function(){
    $(this).addClass("cc_content_"+i);
    var href = $(this).find("a").attr("href");
    $(this).find("a").attr("href","#");
    $('.cc_content .cc_content_'+i).load(href);
    i += 1;
});

Как примечание:

i == 4; - это выражение сообщает либо trueили false, но возвращаемое значение нигде не сохраняется.Это не нужно для вашего кода.

i = 4; - это выражение устанавливает i в 4.

0 голосов
/ 03 мая 2011
$(".cc_submenu").find("ul.portfolio-list li:gt(3)").each(function(i,value){
    $(this).addClass("cc_content_"+i);
    var href = $(this).find("a").attr("href");
    $(this).find("a").attr("href","#");
    $('.cc_content .cc_content_'+i).load(href);
});
...