将class添加到div,每个div的编号都会增加

时间:2013-01-23 20:19:24

标签: javascript jquery iteration

我想在滑块中的每张幻灯片中为一个元素添加一个“slide-number-x”类,其中'x'代表dom中的幻灯片编号。

所以,例如这个简单的HTML标记:

<div class="slider">
    <div class="slide"><div class="slide-title"></div></div>
    <div class="slide"><div class="slide-title"></div></div>
    <div class="slide"><div class="slide-title"></div></div>
    <div class="slide"><div class="slide-title"></div></div>
</div>

会变成:

<div class="slider">
    <div class="slide slide-number-1"><div class="slide-title"></div></div>
    <div class="slide slide-number-2"><div class="slide-title"></div></div>
    <div class="slide slide-number-3"><div class="slide-title"></div></div>
    <div class="slide slide-number-4"><div class="slide-title"></div></div>
</div>

我认为这样可行:

$('.slide').each(function(i){
  $(this).addClass('slide-number'i+1);
});

任何帮助或想法?

非常感谢, [R

5 个答案:

答案 0 :(得分:9)

您忘记了连接运算符(+),请使用:

$('.slide').each(function(i){
  $(this).addClass('slide-number-' + (i+1));
});

答案 1 :(得分:0)

看起来应该是:

$(this).addClass('slide-number-' + (i + 1));

答案 2 :(得分:0)

这可以为您提供所需的内容

$('.slide').each(function(i){
  $(this).addClass('slide-number-' + (i+1));
});

答案 3 :(得分:0)

你是+在错误的地方......试试这个。它对我有用......

$('.slide').each(function(i){
  $(this).addClass('slide-number'+i);
});

答案 4 :(得分:0)

您缺少连接运算符。此外,在JavaScript中增加值的约定是双加号。

$('.slide').each(function(i){
  $(this).addClass('slide-number-' + ++i);
});