在html中未定义,使用内部html

undefined in html, using inner html

本文关键字:html 内部 未定义      更新时间:2023-11-29

所以,我正在尝试用HTML做一个表,我的代码是这样的。

<script>
function addtable()
{
 var incr;
 incr += "<table id="nicetable"....
 more code
 incr += "</table>";
 document.getElementById("divfortable").innerHTML=incr;
}
</script>
<div id="divfortable"></div>

它似乎没有定义,在我的网页上的表格。我甚至尝试过对所有代码进行注释,只在"incr"变量中插入一个单词,但仍然出现了未定义的单词。所以我只做了:

document.getElementById("divfortable").innerHTML="hi"; 

一切都很顺利。我已经意识到问题来自var incr。我不知道如何解决这个问题。这很奇怪,因为我总是这样做来做表格,但现在它在网页上出现了未定义的单词。

必须通过用'"替换"来转义incr中的双引号。Javascript可以使用双引号来表示字符串的开始和结束,但id="nicetable"中的引号会造成干扰。

此外,您应该初始化您的变量:

var incr = "";

默认情况下,incr将设置为undefined

var incr;
 incr += "<table id='"nicetable'"...."
 more code
 incr += "</table>";

var incr;
 incr += '<table id="nicetable"....'
 more code
 incr += '</table>';

当您编写以下内容时:

var incr;

然后incr具有未定义的值,然后您尝试在其上附加字符串,它将未定义转换为字符串并在其上添加字符串。

解决方案是:

var incr = "<table id="nicetable"....

所以incr的起始值没有定义。