好吧,我明白这是一个非常基本的 JS 逻辑,但我试图用 .innerHTML
替换任何 document.write()
,并且我用代码尝试了它下面
function writeTimesTable(num) {
for(let i = 1; i < 10; i++ ) {
let writeString = i + " * " + num + " = ";
writeString = writeString + (i * num);
writeString = writeString + "<br />";
document.write(writeString);
}
}
function newTable() {
for(let i = 1; i <= 10; i++ ) {
let para = document.getElementById("paragraph");
para.innerHTML = writeTimesTable(i)
}
}
我已经有一个 ID 为 paragraph
的 div
元素。当我查看 div#paragraph
以及 script
标记下的其余代码输出(但不在 中)时,我不断收到
元素。我究竟做错了什么? undefined
>div
最佳答案
您的函数writeTimesTable()
需要返回一个值。您的 writeString
字符串也需要连接,您可以使用 +=
进行连接,如下所示:
function writeTimesTable(num) {
let writeString = "";
for(let i = 1; i < 10; i++ ) {
writeString += i + " * " + num + " = ";
writeString += writeString + (i * num);
writeString += writeString + "<br />";
}
return writeString
}
使用 para.innerHTML = writeTimesTable(i)
可能不是有意的,因为它只会显示最后一个循环,因此您可能还想使用 +=
也在这里:
para.innerHTML += writeTimesTable(i)
关于javascript - .innerHTML 显示为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49330291/