Javascript:打印Y,X次
我觉得我可能犯了一个根本性的错误。我希望有人能帮助我Javascript:打印Y,X次,javascript,loops,for-loop,printing,innerhtml,Javascript,Loops,For Loop,Printing,Innerhtml,我觉得我可能犯了一个根本性的错误。我希望有人能帮助我 function countdown() { x = 5; for (i = x; i > 0; i--) { document.getElementById('display').innerHTML = (i + " "); } } 这是一个非常小的,简单的复制我的问题 我有一个长函数。在该函数中有一个变量,在本例中为X 我想在元素中插入一些东西(在本例中为:#display)X次 我想最好的方法是使用fo
function countdown() {
x = 5;
for (i = x; i > 0; i--) {
document.getElementById('display').innerHTML = (i + " ");
}
}
这是一个非常小的,简单的复制我的问题
我有一个长函数。在该函数中有一个变量,在本例中为X
我想在元素中插入一些东西(在本例中为:#display)X次
我想最好的方法是使用for循环,从X开始倒数1,每次插入我想要的字符串
但当它运行时,只返回1。(在本例中,我希望它返回“54321”)
有人能给我解释一下为什么这不起作用吗?我已经为此绞尽脑汁好几个小时了。因为您在每次迭代中都通过给
innerHTML
指定一个新值来覆盖元素的内容。您必须附加以下内容:
document.getElementById('display').innerHTML += (i + " ");
// ^
这和
document.getElementById('display').innerHTML =
document.getElementById('display').innerHTML + (i + " ");
当然,如果您只是在循环中构建字符串并在循环后设置内容会更好:
var content = '';
for (i = x; i > 0; i--) {
content += (i + " ");
}
document.getElementById('display').innerHTML = content;
这样可以避免在每次迭代时搜索文档中的元素。但是
.innerHTML
只在某种程度上有用,一旦开始执行更高级的操作,您还应该查看DOM操作函数(例如)。因为您在每次迭代中都通过为innerHTML
指定一个新值来覆盖元素的内容。您必须附加以下内容:
document.getElementById('display').innerHTML += (i + " ");
// ^
这和
document.getElementById('display').innerHTML =
document.getElementById('display').innerHTML + (i + " ");
当然,如果您只是在循环中构建字符串并在循环后设置内容会更好:
var content = '';
for (i = x; i > 0; i--) {
content += (i + " ");
}
document.getElementById('display').innerHTML = content;
这样可以避免在每次迭代时搜索文档中的元素。但是
.innerHTML
只在某种程度上有用,一旦开始执行更高级的操作,您还应该查看DOM操作函数(例如)。因为您在每次迭代中都通过为innerHTML
指定一个新值来覆盖元素的内容。您必须附加以下内容:
document.getElementById('display').innerHTML += (i + " ");
// ^
这和
document.getElementById('display').innerHTML =
document.getElementById('display').innerHTML + (i + " ");
当然,如果您只是在循环中构建字符串并在循环后设置内容会更好:
var content = '';
for (i = x; i > 0; i--) {
content += (i + " ");
}
document.getElementById('display').innerHTML = content;
这样可以避免在每次迭代时搜索文档中的元素。但是
.innerHTML
只在某种程度上有用,一旦开始执行更高级的操作,您还应该查看DOM操作函数(例如)。因为您在每次迭代中都通过为innerHTML
指定一个新值来覆盖元素的内容。您必须附加以下内容:
document.getElementById('display').innerHTML += (i + " ");
// ^
这和
document.getElementById('display').innerHTML =
document.getElementById('display').innerHTML + (i + " ");
当然,如果您只是在循环中构建字符串并在循环后设置内容会更好:
var content = '';
for (i = x; i > 0; i--) {
content += (i + " ");
}
document.getElementById('display').innerHTML = content;
这样可以避免在每次迭代时搜索文档中的元素。但是
.innerHTML
只在某种程度上有用,一旦你开始进行更高级的操作,你还应该看看DOM操作函数(例如)。你的意思可能是innerHTML+=i+”
你的意思可能是innerHTML+=i+“”
你的意思可能是innerHTML+=i+“”
您的意思可能是innerHTML+=i+“”