我正在尝试使用id“slide”迭代每个div并在末尾添加一个数字(例如slide1,slide2等)
我已经能够为每个div添加一系列类,但是我只能获得相同的代码来重命名第一张幻灯片,而不是其余的。
$(document).ready(function() {
$("#slide").each(function(i) {
$(this).attr('id', "slide" + (i + 1));
});
});
和jsfiddle here http://jsfiddle.net/YsvCe/1/
提前致谢
答案 0 :(得分:14)
您应该为多个元素使用类而不是ID。
<div class="slide">hello</div>
...
$(document).ready(function() {
$(".slide").each(function(i) {
$(this).attr('id', "slide" + (i + 1));
});
});
答案 1 :(得分:11)
ID属性必须是唯一的,id
选择器应该是唯一的,只返回第一个匹配的元素:
$(document).ready(function() {
$("div[id^='slid']").attr('id', function(i) {
return "slide" + ++i;
});
});
答案 2 :(得分:3)
元素必须具有唯一ID。 each
函数不会迭代其他div。因此,找到一种方法来选择它们而不违反该规则。以下作品:
$("div").each(function(i)