我用类
创建了5个div
$(document).ready(function(){
var numSlide = $('.slide_text').length;
var slideLoop;
var numSlideTemp = 1;
for(slideLoop=numSlideTemp;slideLoop<=numSlide;slideLoop++){
$('.slide_text').attr('id', 'slide_text_' + slideLoop);
}
$('#slide_text_3').html('OK!');
});
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<div class="slide_text">Slide 1</div>
<div class="slide_text">Slide 2</div>
<div class="slide_text">Slide 3</div>
<div class="slide_text">Slide 4</div>
<div class="slide_text">Slide 5</div>
我想为每个div添加attribut ID,但在运行此脚本后,所有ID都设置为 slide_text_5 。
我想要结果(id):
- slide_text_1
- slide_text_2
- slide_text_3
- slide_text_4
- slide_text_5
在每个div。
我的剧本有什么问题吗?提前谢谢。
答案 0 :(得分:2)
for (slideLoop=numSlideTemp;slideLoop<numSlide;slideLoop++){
$('.slide_text').eq(slideLoop - 1).attr('id', 'slide_text_' + slideLoop);
}
使用eq()
,因此您只需更改要更改的单个元素。否则你正在改变它们。
这也可以写成:
$('.slide_text').each(function(index, element){
element.id = 'slide_text_'+ ( index + 1 );
});