如何打印从 JavaScript 到 html 的函数
How can I print a function from JavaScript to html
我试图从“*”中提取出来,我得到了正确的代码,因为它在控制台中工作,但是当我尝试在 html 文档中打印它时,它不起作用
function Pyramid() {
let rows = 9;
let output = '';
for (let i = 1; i <= rows; i++) {
for (let j = 1; j <= i; j++) {
output += '* ';
}
console.log(output);
return output;
output = '';
}
}
document.getElementById('pyramid').textContent = generatePyramid();
<body>
<div id="pyramid"></div>
<script src="../script.js/script.js"></script>
</body>
试试这个
document.getElementById("金字塔").innerHTML='generatePyramid()';
好的,所以这里有一些小问题。
- 您的函数名为
Pyramid
,但您正在调用 generatePyramid
。
- 您在第一行的末尾返回,因为
return output
在 for 循环中。
- 在控制台中,您正在使用
console.log
进行输出,这将在控制台中为您提供一行...但是对于 HTML,您只是将其全部转储,因此它将是一个连续的行星星而不是一次一行。
在下面的代码中,我已经修复了这些问题并使其在 <p>
中输出每一行。有很多方法可以实现并改进它,但我认为这就是您的目标。
function generatePyramid() {
let rows = 9;
let output = "";
for (let i = 1; i <= rows; i++) {
output += "<p>";
for (let j = 1; j <= i; j++) {
output += "* ";
}
output += "</p>";
}
return output;
}
document.getElementById("pyramid").innerHTML = generatePyramid();
我试图从“*”中提取出来,我得到了正确的代码,因为它在控制台中工作,但是当我尝试在 html 文档中打印它时,它不起作用
function Pyramid() {
let rows = 9;
let output = '';
for (let i = 1; i <= rows; i++) {
for (let j = 1; j <= i; j++) {
output += '* ';
}
console.log(output);
return output;
output = '';
}
}
document.getElementById('pyramid').textContent = generatePyramid();
<body>
<div id="pyramid"></div>
<script src="../script.js/script.js"></script>
</body>
试试这个
document.getElementById("金字塔").innerHTML='generatePyramid()';
好的,所以这里有一些小问题。
- 您的函数名为
Pyramid
,但您正在调用generatePyramid
。 - 您在第一行的末尾返回,因为
return output
在 for 循环中。 - 在控制台中,您正在使用
console.log
进行输出,这将在控制台中为您提供一行...但是对于 HTML,您只是将其全部转储,因此它将是一个连续的行星星而不是一次一行。
在下面的代码中,我已经修复了这些问题并使其在 <p>
中输出每一行。有很多方法可以实现并改进它,但我认为这就是您的目标。
function generatePyramid() {
let rows = 9;
let output = "";
for (let i = 1; i <= rows; i++) {
output += "<p>";
for (let j = 1; j <= i; j++) {
output += "* ";
}
output += "</p>";
}
return output;
}
document.getElementById("pyramid").innerHTML = generatePyramid();