Javascript:打印 Y、X 次

Posted

技术标签:

【中文标题】Javascript:打印 Y、X 次【英文标题】:Javascript: Print Y, X times 【发布时间】:2014-03-17 13:55:49 【问题描述】:

我觉得我可能在这里犯了一个根本性的错误。我希望有人可以帮助我。

function countdown() 

  x = 5;

  for (i = x; i > 0; i--) 
    document.getElementById('display').innerhtml = (i + " ");
  


这是我遇到的问题的一个非常小的、简单的复制。

我的函数很长。在该函数中是一个变量,在本例中为:X。

我想在一个元素中插入一些东西(在这种情况下:#display)X 次。

我认为最好的方法是使用 for 循环,从 X 倒数 1 并每次插入我想要的字符串。

但是当它运行时,它只返回 1。(在这种情况下,我希望它返回“5 4 3 2 1”)。

请有人向我解释为什么这不起作用?我已经为此绞尽脑汁好几个小时了。

【问题讨论】:

你的意思可能是innerHTML += i + " " 【参考方案1】:

因为您在每次迭代中通过为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 操作函数(例如.appendChild),一旦你开始进行更高级的操作。

【讨论】:

以上是关于Javascript:打印 Y、X 次的主要内容,如果未能解决你的问题,请参考以下文章

Java第十二次作业

在python中打印表面拟合方程

JavaScript 练习题

我打印图片 X。然后我尝试打印图片 Y,但它再次打印图片 X,然后是 Y。请问,如何从 Python 列表中删除图片 X?

第七次上机练习

第九次上机练习