我尝试追加一个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?
答案 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+'">');
}