Javascript 添加id号不断增加的新元素

Javascript 添加id号不断增加的新元素,javascript,jquery,Javascript,Jquery,我尝试用递增的id追加新元素。这是我的尝试,但它总是将id设置为1: JSFiddle: 对于(i=0;i

我尝试用递增的id追加新元素。这是我的尝试,但它总是将id设置为1:

JSFiddle:


对于(i=0;i<5;i++){
var-maxId=0;
$(“#main.element*[id]”)。每个(函数(){
if(maxId<$(this.attr(“id”){maxId=$(this.attr(“id”)}
});
maxId=maxId+1;
$('#main')。附加('');
}

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

您正在重置for循环每次迭代中的值。为循环和rest设置外部变量应该可以正常工作:

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

您正在重置for循环每次迭代中的值。为循环和rest设置外部变量应该可以正常工作:

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

您正在重置for循环每次迭代中的值。为循环和rest设置外部变量应该可以正常工作:

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

您正在重置for循环每次迭代中的值。为循环和rest设置外部变量应该可以正常工作:

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

因为您在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+'">');
}
var maxId=0;
对于(i=0;i<5;i++){
var id=$(this.attr(“id”);
$(“#main.element*[id]”)。每个(函数(){
如果(maxId
因为您在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+'">');
}
var maxId=0;
对于(i=0;i<5;i++){
var id=$(this.attr(“id”);
$(“#main.element*[id]”)。每个(函数(){
如果(maxId
因为您在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+'">');
}
var maxId=0;
对于(i=0;i<5;i++){
var id=$(this.attr(“id”);
$(“#main.element*[id]”)。每个(函数(){
如果(maxId
因为您在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+'">');
}
var maxId=0;
对于(i=0;i<5;i++){
var id=$(this.attr(“id”);
$(“#main.element*[id]”)。每个(函数(){
如果(maxId
似乎您试图将数字id分配给元素,或者故意使用“+”作为字符串串联运算符?似乎您正试图将数字id分配给元素,或者故意使用“+”作为字符串串联运算符?似乎您正试图将数字id分配给元素,或者故意使用“+”作为字符串串联运算符?似乎您正试图将数字id分配给元素,或者故意使用“+”作为字符串串联运算符?