I'm wanting to add a class 'slide-number-x' to an element within each slide in a slider, with the 'x' representing the slide number in the dom.
So, for example this simple HTML markup:
<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>
Would become:
<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>
I thought this would work:
$('.slide').each(function(i){
$(this).addClass('slide-number'i+1);
});
Any help or ideas?
Many thanks, R
You forgot the concatenation operator ( +
), use:
$('.slide').each(function(i){
$(this).addClass('slide-number-' + (i+1));
});
看起来应该是:
$(this).addClass('slide-number-' + (i + 1));
This gives you what you want
$('.slide').each(function(i){
$(this).addClass('slide-number-' + (i+1));
});
You're + is in the wrong place... Try this. It worked for me...
$('.slide').each(function(i){
$(this).addClass('slide-number'+i);
});
You are missing the concatenation operator. Also, the convention for incrementing a value in JavaScript is the the double plus.
$('.slide').each(function(i){
$(this).addClass('slide-number-' + ++i);
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.