通过for循环添加一个类

时间:2011-08-31 16:46:34

标签: jquery for-loop addclass

我在jQuery中有一个非常简单的for循环:

var iEra;
for(iEra = 1; iEra <= li.length; iEra++) {
    li.addClass(iEra);
}

li 是一个针对$('ul.class li')对象的变量。 iEra 是计数器变量,应该从1开始到 li 对象的数量。

主要问题是addClass函数根本没有发生。但是,如果我将其替换为 alert(iEra); ,我将收到1-x警报。

我知道我可以将我的for循环修改为“构造函数”,如下所示:

var iEra;
for(iEra = 1; iEra <= li.length; iEra++) {
    parentOfli.append('<li class=" + iEra + "></li>');
}

这样我就可以让我的1-x课程添加得很好。问题是,那些li对象已经在其他地方生成了。

我希望我彻底解释自己;如果没有,请让我知道! 实例:http://jsfiddle.net/c3cXB/9/

3 个答案:

答案 0 :(得分:2)

班级名称不能为数字。

以下是有效的:http://jsfiddle.net/c3cXB/10/

var li = $('ul.portfolio-excerpt').find('li');

var iEra, thumbLi = $('.thumbs ul li');
for (iEra = 1; iEra <= li.length; iEra++) {
    thumbLi.eq(iEra).addClass('class'+iEra);
}

答案 1 :(得分:0)

如果你真的需要一个循环

$('.thumbs ul li').each(function(index) {
    $(this).addClass(iEra);
}

或者这样,如果你只想为所有的李

添加一个类
$('.thumbs ul li').addClass(iEra);

答案 2 :(得分:0)

我不确定你的例子有什么问题,我不得不将css更改为'li.thumbs'以查看以下内容是否有效:

var $thumbLi = $('.thumbs ul li')
$('ul.portfolio-excerpt li:lt(' + $thumbLi.length + ')').addClass('thumbs');

另见http://api.jquery.com/lt-selector/