我正在编写使用javascript而非框架的框架网站模板,我遇到document.getElementById("contentbody").innerHTML=body[i];
行的问题,但我没有看到任何问题。开发。控制台告诉我TypeError: document.getElementById(...) is null
,这没有任何意义,因为只有在没有带有这样的id的元素时才会返回null(并且有)。
<table style="width: inherit;">
<tr>
<td style="width: 220px;">
<h2 style="text-align: center;">titlehere</h2>
<div id='menubody' />
</td>
<td>
<h1 id='contenttitle' />
<div id='contentbody' />
</td>
</tr>
</table>
<script>
var title =
[
"<p>",
"<div>"
];
var body =
[
"<p> is for text",
"<div> is for cool text"
];
function change(i)
{
document.getElementById("contenttitle").innerHTML=title[i];
document.getElementById("contentbody").innerHTML=body[i];
}
change(0);
</script>
有任何帮助吗?建议?
答案 0 :(得分:8)
没有<h1 />
或<div />
元素。您想要的是<h1></h1>
和<div></div>
答案 1 :(得分:3)
此处的标记
<div id='contentbody' />
您将其写为<div />
,这是错误的,因为在HTML中没有自动关闭的div
标记(或者至少没有意义)。
答案 2 :(得分:0)
更新您的<h1>
代码以获得结束标记。这是一个小提琴。
<table style="width: inherit;">
<tr>
<td style="width: 220px;">
<h2 style="text-align: center;">titlehere</h2>
<div id="menubody" />
</td>
<td>
<h1 id="contenttitle"></h1>
<div id="contentbody"></div>
</td>
</tr>
</table>