2013-01-23 126 views
1

我想要在幻燈片的每個幻燈片中的某個元素上添加一個類「幻燈片編號-x」,其中'x'代表dom中的幻燈片編號。將div添加到div,每個div的數字增加

因此,例如這個簡單的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

回答

8

你忘了連接符(+),用途:

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

我真是個傻瓜。非常感謝 :) –

0

它看起來應該是:

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

這給你什麼你想要

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

你是+在錯誤的地方...試試這個。它爲我工作...

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

您錯過了連接運算符。另外,在JavaScript中遞增值的慣例是雙加。

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