迭代具有相同ID的div并添加数字

gre*_*and 3 jquery loops

我试图用id'slide'迭代每个div并在末尾添加一个数字(例如slide1,slide2等)

我已经能够为每个div添加一系列类,但我只能获得相同的代码来重命名第一张幻灯片,而不是其余的.

$(document).ready(function() {
 $("#slide").each(function(i) {
    $(this).attr('id', "slide" + (i + 1));
 });
});?
Run Code Online (Sandbox Code Playgroud)

和jsfiddle在这里http://jsfiddle.net/YsvCe/1/

提前致谢

grc*_*grc 16

对于多个元素,您应该使用类而不是id.

<div class="slide">hello</div>

...

$(document).ready(function() {
    $(".slide").each(function(i) {
        $(this).attr('id', "slide" + (i + 1));
    });
});?
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/QaB76/

  • 如果您有多个具有相同ID的元素,则您的页面不是有效的HTML(这可能会导致很多问题)。 (2认同)

und*_*ned 12

ID属性必须是唯一的,id选择器应该是唯一的,只返回第一个匹配的元素:

$(document).ready(function() { 
    $("div[id^='slid']").attr('id', function(i) {
       return "slide" + ++i;
    });
});
Run Code Online (Sandbox Code Playgroud)

DEMO