首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript循环将文本重复输出到.innerHTML

问使用Javascript循环将文本重复输出到.innerHTML
EN

Stack Overflow用户
提问于 2017-02-01 16:33:30
回答 2查看 1.8K关注 0票数 1

我正在学习如何使用while循环,虽然我或多或少地有了这个概念,但我在获得一个while循环时遇到了一些困难,无法重复地将文本写到html元素。

​

代码语言:javascript
复制
var text = prompt("What would you like logged to screen?");
//I may need to convert prompt output to a number
var repeatText = prompt("How many times would you like to print the text?");
var loopCount = 0;

while (loopCount < repeatText) {
	//I want text to print out on screen "x" times, where x is equal to the numerical value of loopCount
  document.getElementById("outputHolder2").innerHTML += text;
  loopcount++;
}

//this isn't outputting to outputHolder1 after loop
document.getElementById("outputHolder1").innerHTML = loopCount;
代码语言:javascript
复制
#outputHolder1 {
  margin: 0px;
  padding: 10%;
  background-color: lightBlue;
  text-align: center;
  font-size: 20px;
  font-weight: 5;
}

#outputHolder2 {
  padding: 2% 10% 0% 10%;
}
代码语言:javascript
复制
<div>
  <p id="outputHolder1">
    NUMBER OF TIMES TO LOOP:
  </p>

  <p id="outputHolder2">

  </p>

</div>

​

据我所知,.innerHTML += text应该复制一个HTML元素的内部文本,并向它添加新的文本,但是我还不能在循环中完成这个工作。

只有原始Javascript解决方案请。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-01 16:39:18

正如错误消息所说的,"loopcount是未定义的“当您访问它时。你的变量是loopCount。记住: JavaScript是区分大小写的.

另外,是的,您应该将用户输入从prompt转换为数字。您可以在不做此操作的情况下进行比较,但这是一个很好的最佳实践,以防您决定以后在代码中使用该值进行其他数学计算。

​

代码语言:javascript
复制
var text = prompt("What would you like logged to screen?");

// I may need to convert prompt output to a number
var repeatText = parseInt(prompt("How many times would you like to print the text?"), 10);

var loopCount = 0;

while (loopCount < repeatText) {
  // I want text to print out on screen "x" times, 
  // where x is equal to the numerical value of loopCount
  document.getElementById("outputHolder2").innerHTML += text;
  loopCount++;
}

// this isn't outputting to outputHolder1 after loop
document.getElementById("outputHolder1").innerHTML = loopCount;
代码语言:javascript
复制
#outputHolder1 {
  margin: 0px;
  padding: 10%;
  background-color: lightBlue;
  text-align: center;
  font-size: 20px;
  font-weight: 5;
}

#outputHolder2 {
  padding: 2% 10% 0% 10%;
}
代码语言:javascript
复制
<div>
  <p id="outputHolder1">
    NUMBER OF TIMES TO LOOP:
  </p>

  <p id="outputHolder2">

  </p>

</div>

​

票数 2
EN

Stack Overflow用户

发布于 2017-02-01 16:38:59

loopcount++;应该在CamelCase中,就像您在第一次var loopCount = 0;中定义的那样:

代码语言:javascript
复制
loopCount++;

否则,它将被视为undefined变量loopcount。

希望这能有所帮助。

​

代码语言:javascript
复制
var text = prompt("What would you like logged to screen?");
var repeatText = prompt("How many times would you like to print the text?");
var loopCount = 0;

while (loopCount < repeatText) {
  document.getElementById("outputHolder2").innerHTML += text;
  loopCount++;
}

document.getElementById("outputHolder1").innerHTML = loopCount;
代码语言:javascript
复制
#outputHolder1 {
  margin: 0px;
  padding: 10%;
  background-color: lightBlue;
  text-align: center;
  font-size: 20px;
  font-weight: 5;
}

#outputHolder2 {
  padding: 2% 10% 0% 10%;
}
代码语言:javascript
复制
<div>
  <p id="outputHolder1">
    NUMBER OF TIMES TO LOOP:
  </p>
  <p id="outputHolder2"></p>
</div>

​

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41984882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档