我尝试添加一个具有递增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?

最佳答案

因为您在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+'">');
}

09-25 19:15