添加id-number增加的新元素

时间:2015-04-13 14:42:17

标签: javascript jquery

我尝试追加一个id越来越大的新元素。这是我的尝试,但它始终设置id 1:

JSFiddle: http://jsfiddle.net/z0qwcuq9/

<div id="main"></div>

for (i = 0; i < 5; i++) { 
    var maxId = 0;
    $("#main .element *[id]").each(function() {
        if(maxId < $(this).attr("id")){ maxId = $(this).attr("id")}
    });
    maxId = maxId + 1;
    $('#main').append('<div class="element" id="'+maxId+'">');
}

顺便说一下:这是附加元素的正确方法,还是我必须单独设置类和id?

2 个答案:

答案 0 :(得分:3)

您正在重置for循环的每次迭代中的值。将变量设置为for循环,休息应该正常工作:

var maxId = 0;
for (i = 0; i < 5; i++) { 
   //rest code
}

<强> Working Demo

答案 1 :(得分:0)

因为你在for循环中创建了maxId。这应该有效:

var maxId = 0;
for (i = 0; i < 5; i++) { 
    var id = $(this).attr("id");
    $("#main .element *[id]").each(function() {
        if(maxId < id) maxId = id;
    });
    maxId = maxId + 1;
    $('#main').append('<div class="element" id="'+maxId+'">');
}