4

我正在尝试使用 id 'slide' 遍历每个 div 并在末尾添加一个数字(例如 slide1、slide2 等)

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

$(document).ready(function() {
 $("#slide").each(function(i) {
    $(this).attr('id', "slide" + (i + 1));
 });
});​

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

提前致谢

4

3 回答 3

17

您应该对多个元素使用类而不是 id。

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

...

$(document).ready(function() {
    $(".slide").each(function(i) {
        $(this).attr('id', "slide" + (i + 1));
    });
});​

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

于 2012-07-14T01:52:59.357 回答
13

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

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

演示

于 2012-07-14T01:50:44.533 回答
4

元素必须具有唯一 ID。该each函数没有迭代其他 div。所以想办法在不违反该规则的情况下选择它们。以下作品:

$("div").each(function(i)
于 2012-07-14T01:51:00.103 回答