移动附加/环内创建逻辑:
setInterval(function() {
loop = 2;
total = 0;
for (i = 0; i < loop; i++) {
var casa = "";
total += 1;
if (total == loop) casa = "uno";
else casa = "otro";
var div = document.createElement("div");
div.id = casa;
document.body.appendChild(div);
console.log(div)
}
}, 5000);
根据您的意见,您的问题真的不清楚,例如,是否在初始时间在DOM中的div?我会告诉你,这将检查DIV已经附上了代码,否则只会改变ID:
var appended = false, currentId = "";
setInterval(function() {
loop = 2;
total = 0;
for (i = 0; i < loop; i++) {
var casa = "";
total += 1;
if (total == loop) casa = "uno";
else casa = "otro";
}
var div = !appended ? document.createElement("div") : document.getElementById(currentId);
div.id = casa;
if (!appended) document.body.appendChild(div);
console.log(div);
appended = true;
currentId = casa;
}, 5000);
但有了这个,你总是会得到相同的ID,你应该检查以前的ID,而不是做一个循环:
var appended = false, currentId = "";
setInterval(function() {
var casa = currentId === "uno" ? "otro" : "uno";
var div = !appended ? document.createElement("div") : document.getElementById(currentId);
div.id = casa;
if (!appended) document.body.appendChild(div);
console.log(div);
appended = true;
currentId = casa;
}, 5000);
你只创建一个div? –
是的,只有一个@DaveNewton –
要有两个div,你的循环应该包含div添加代码。 – Avi