为什么这不起作用? innerHTML不能容纳这么复杂的东西吗?
<html>
<head>
<script type="text/javascript">
function addTable() {
var html = "<table><tr><td><label for="name">Name:</label></td><td><input type="text" id="name"></input></td></tr>"; +
"<tr><td><label for="remarks">Remarks:</label></td><td><input type="text" id="remarks"></input></td></tr></table>";
document.getElementById("addtable").innerHTML = html;
}
</script>
</head>
<body>
<input type="submit" value="New Table" onClick="addTable()"/>
<div id="addtable"></div>
</body>
</html>
像这样不太复杂的东西:
var html = "<table><tr><td>123</td><td>456</td></tr></table>";
答案 0 :(得分:5)
您需要在要分配给html
变量的字符串中转义双引号,或者只用单引号括起该字符串。使用带有语法突出显示的文本编辑器,这样的错误会马上跳出来。你的作业中还有一个额外的分号。
答案 1 :(得分:1)
你的报价被打破了。您在字符串中使用双引号:
"<tr><td><label for="remarks">Remarks:</label></td><td><input ....
Firefox错误控制台应始终是您的第一站,此类错误始终会记录在那里。
答案 2 :(得分:1)
您的字符串使用双引号分隔,并在字符串中使用它们。切换到在字符串中使用单引号。
var html = "<table><tr><td><label for='name'>Name:</label></td><td><input type='text' id='name'></input></td></tr>"; +
"<tr><td><label for='remarks'>Remarks:</label></td><td><input type='text' id='remarks'></input></td></tr></table>";
答案 3 :(得分:0)
而不是双引号使用单引号,如下所示:
var html =“&lt; table&gt;&lt; tr&gt;&lt; td&gt;&lt; label for ='name'&gt;名称:&lt; / label&gt;&lt; / td&gt;&lt; td&gt;&lt; input type = 'text'id ='name'&gt;&lt; / input&gt;&lt; / td&gt;&lt; / tr&gt;' + “&lt; tr&gt;&lt; td&gt;&lt; label for ='remarks'&gt;备注:&lt; / label&gt;&lt; / td&gt;&lt; td&gt;&lt; input type ='text'id ='remarks'&gt; &LT; /输入&GT;&LT; / TD&GT;&LT; / TR&GT;&LT; /表&gt;“;
享受编码!!
答案 4 :(得分:0)
您需要转义双引号或在字符串中使用指向该innerHTML的单引号。
答案 5 :(得分:0)
你的字符串中有错误,试试这个:
var html =“姓名:”; + “备注:”; document.getElementById(“addtable”)。innerHTML = html;